Saltar al contenido

PHP: Propiedades de Protected y Private

14 septiembre, 2016
PHP: Propiedades de Protected y Private
Valorar Entrada

PHP: Propiedades de Protected y Private. En muchos de mis proyectos de desarrollo en PHP,  finalizo en su mayoria con las clases que tienen funciones no públicas que no tienen intención de extender mas adelante.

Entonces como debemos declarar estos como protegido o privado?

Puedo ver las opciones en ambos haciéndolos privado es un punto mucho más conservador, pero se puede ver que podría hacerse protegidos mas tarde si quiero el método que se extiende y se deja en claro qué métodos se extienden por las clases.

En los ejemplo de PHP que hemos visto hasta ahora,  las propiedades se definen utilizando la palabra reservada “public”. En su lugar, podemos definir las propiedades como “protected” o “private” dependiendo.

PHP: Propiedades de Protected y Private

Si se intenta acceder a las propiedades “protected” y “private” utilizando el codigo “$objeto->propiedad” desde el script que crea el objeto, se produce un error. veamos el ejemplo a continuacion.

Ambos tipos tienen sus opciones, está en su comportamiento cuando se crea una clase derivada de otra: Una propiedad “protected” es heredada y puede ser redefinida en la clase derivada, pero si se intenta acceder a una propiedad “private” en la clase hija se obtiene el valor “undefined”. veamos el ejemplo.

¿Cuál es la diferencia entre public, private y protected en las aplicaciones PHP?

Veamos a continuación la respuesta:

A grandes rasgos, estas son sus diferencias:

  • public : Hace que la variable/función se pueda acceder desde cualquier lugar, como por ejemplo otras clases y otras instancias de esa misma clase.
  • private: Hace que la variable/función solamente se pueda utilizar desde la misma clase que las define.
  • protected: Hace que la variable/función se puede acceder desde la clase que las define y también desde cualquier otra clase que herede de ella.

En otras palabras mas suaves podemos aclarar que:

  1. private = solo tú
  2. protected = tú y tus descendientes
  3. public = cualquiera.
PHP Propiedades de Protected y Private
PHP Propiedades de Protected y Private

Referencias: