Definamos que Usuario es una Persona y que además de tener todos los datos de ella, se define ahora en la clase Padre el método toString
Clase Persona Y el metodo ToString
Clase Usuario con su Constructor.
Solo instanaciamos la clase y le mandamos los parametros al constructor.
¡Y funciona!!!!!
La explicación es que, a diferencia que el constructor, el toString se hereda porque es público pero este se ejecuta de forma automática, sin necesidad de explicitar como en el anterior caso (constructor).
Aquí es donde deberíamos entender que el principio de ocultación refuerza los diseños al ocultar y cerrar el acceso a detalles internos, pero no por eso nos impide poder aprovechar las implementaciones realizadas. Como es este caso, no tenemos acceso a los atributos de forma directa y no podemos modificarlos, pero perfectamente podemos asignarles información y usarlos.
Sigamos con el siguiente Ejemplo.
Los usuarios necesitan un id único “autogenerado”
Atención: para que funcione el autogenerado de id el atributo ultimoId debe ser “estático” .
La forma de acceder al atributo estático es usando self::$atributo.
self y parent
Cuando queramos accesar a una constante o metodo estatico por ejemplo desde dentro de la clase podemos usar esta palabra reservada.self.
Cuando queramos acceder a una constante o metodo de una clase padre, la palabra reservada parent nos sirve para llamarla desde una clase extendida.
Cabe destacar que esto ocurre dentro del mundo “stateless” (“estado desconectado”), por consiguiente él o los objetos se pierden luego de terminada la ejecución de la página, iniciando todo nuevamente (si restaura la pantalla volverá a contar desde “1”).
Descargar
comenten no sean bayuncos ...
Muchas gracias, todo muy clarito... :)
ResponderEliminar