A lo largo de esta serie de tutoriales hemos visto como crear y trabajar con objetos de diversas formas, pero aun no hemos visto ningún ejemplo en el que una clase interactue con otras mas allá de la herencia. Lo realmente interesante de la programación orientada a objetos es los

Es posible que ya sepas que no se puede tener dos clases o funciones con el mismo nombre porque generan un error tipo “Fatal error: Cannot redeclare …..”, da igual que se encuentren en ficheros diferentes si luego se incluyen en un mismo script, tiene su lógica que PHP genere este

Una de las posibilidades más útiles que nos ofrece el trabajar con objetos es el polimorfismo. Imagina una clase abstracta que sirve de base a cinco o seis clases “hijas“, de esta forma unes toda las funcionalidades que comparten en una misma clase y solo modificas o añades pequeños matices

Hasta el momento hemos visto que para poder usar un objeto primero hemos de instanciar su clase, pero hay una excepción a esta forma de proceder, las clases abstractas. Las clases abstractas se declaran con la instrucción “abstract”, estas no necesitan ser instanciadas, así que podemos acceder a sus métodos

Siguiendo con el tema de la Herencia voy a hablar un poco de como podemos controlar lo que heredamos, si nos fijamos en los ejemplos anteriores siempre marque los atributos y los métodos como públicos (public), pero esto no tiene porque ser así, si queremos podemos cambiar su grado de