Curso de PHP. Volumen XV : Visibilidad

Escrito por Jalths
Manuales
0

Otro miércoles más tenemos nuestro particular Curso Online de PHP.

Hoy hablaremos sobre la visibilidad de atributos y métodos.

Como ya comentamos en el anterior volumen, en este volumen nos vamos a olvidar del VAR a la hora de declarar atributos de clases. La razón de esto es simplemente que VAR esta obsoleto (deprecated) en PHP 5.

¿Que hacia VAR exactamente?, la respuesta es declarar el atributo como Public, ahora veréis que es y lo comprenderéis todo.

Visibilidad, palabras reservadas.

Para este volumen de visibilidad vamos a ver 3 palabras clave Public, Protected y Private. Vamos a ver qué hacen.

Public: El atributo/método puede ser accedido desde cualquier sitio(que lo permita) sin restricción .
Protected: Solo puede ser accedido desde la propia clase y desde una clase que hereda de ésta.
Private: Solo puede ser accedido por la clase en las que esta definido el método/atributo privado.

Como estaréis pensando, para acceder a métodos/atributos protegidos y privados, tendremos que acceder desde otros métodos de la clase, no podremos llamar al método/atributo directamente con nombredeinstanciacion->metodo/atributo.

Visibilidad en atributos

Para asignar una visibilidad a los atributos de clase, lo que tenemos que hacer es simplemente sustituir el VAR que poníamos antes (con el que aprendimos a crear las clases) por una de las palabras reservadas vistas anteriormente.

Vamos a ver unos ejemplos de visibilidad de atributos.

En la captura tenéis unos atributos con visibilidad y unos intentos de acceso a ellos. En el comentario pone si sería válido o no el acceso. También el código que genere error está comentado, podéis copiar el código y descomentarlo para ver que pasaría en las situaciones de error.

Visibilidad en métodos

Para asignar una visibilidad a los atributos de clase, hay que anteponer al function, la palabra reservada que elijamos según que tipo de visibilidad queramos darle.

Visibilidad en situaciones de herencia.

Aquí dejamos un ejemplo de visibilidad con herencia.

Esto es todo por hoy, sabemos que es bastante corto pero esperamos poder ponernos con volumenes más largos.
Hasta el próximo volumen!