Esta es la segunda lección de nuestro Curso de programación orientada a objetos en PHP, asegúrate de haber visto la primera lección ¿Por qué necesitamos clases y objetos? antes de continuar.

Hoy vamos a hablar sobre uno de los objetivos más importantes de la Programación Orientada a Objetos, el cuál es poder proteger y ocultar información, a dicho proceso se le denomina encapsulamiento.

El encapsulamiento de datos previene que el desarrollador haga cambios inesperados al sistema, como también ocultar la información para que no pueda ser modificada o vista por otras clases y esto es muy útil pero además fácil de hacer, como aprenderemos en la lección de hoy.

¿Cómo accedemos a dicha información de forma segura? En el desarrollo de esta clase vamos a explicarte cómo podemos modificar de forma segura las propiedades (o variables) de una clase y cómo podemos presentar dicha información al usuario de una forma correcta con el uso de métodos conocidos como Setters y Getters.

Repositorio

Ver el código de esta lección en GitHub

Recuerda tener siempre en cuenta:

Getter:  Su función es permitir el obtener el valor de una propiedad de la clase y así poder utilizar dicho valor en diferentes métodos.

Setter:  Su función permite brindar acceso a propiedades especificas para poder asignar un  valor fuera de la clase.

Para tener una definición más clara de los niveles de acceso puedes dirigirte a la lección de Encapsulamiento del curso teórico de OOP.

Ejercicios

  • Agrega validación adicional para que el usuario sólo pueda agregar nicknames que tengan al menos 2 caracteres y no sean igual a su nombre o apellido.
  • Agrega la propiedad «fecha de nacimiento» a la clase persona, y que esta propiedad pueda pasarse a través del constructor. Luego crea un método para obtener la edad del usuario (getAge), por supuesto la edad la vas a calcular a partir de la fecha de nacimiento.

Únete a la discusión

Regístrate en Styde y obtén una invitación a nuestro Slack.

Regístrate hoy en Styde y obtén acceso a todo nuestro contenido.

Lección anterior ¿Por qué necesitamos clases y objetos? Lección siguiente Herencia y abstracción con PHP