En la cuarta clase del curso de programación (OOP) vamos a ver lo que son las herencias y las extensiones, para ampliar o modificar objetos ya existentes.
5 - Herencias y extensiones en programación por objetos
En ocasiones queremos "ampliar" un objeto que ya tenemos definido. Por ejemplo, WordPress se puede ampliar con plugins como WooCommerce o Jetpack. Fijémonos que ambos plugins usan la misma base: WordPress, y le añaden o modifican ciertas características.
Pues bien, en esos casos, en lugar de crear nuevos objetos, vamos a trabajar con herencias y extensiones, que nos van a permitir heredar y ampliar esos objetos que ya existen. ¡Vamos allá!
Como podéis ver, las extensiones son altamente útiles. No sólo para tener el código ordenado de forma modular sin crear objetos monstruosos, sino también para que otros programadores puedan crear sus propias extensiones sobre nuestro código, algo imprescindible si queremos trabajar en open source.
Para acabar de asimilar estos conceptos, os proponemos la siguiente tarea:
- Usar el objeto "Gato" de las últimas tareas
- Crea una extensión llamada "Encontrados" que herede "Gato"
- Comprobar que ha heredado todo correctamente
- Añadir las variables $lugar y $fecha
- Añadir la función avisar_propietarios()
- Crea una extensión llamada "Perdidos" que herede "Gato"
- Comprobar que ha heredado todo correctamente
- Añadir las variables $lugar y $fecha
- Añadir la función publicar_aviso()
- Modificad los accesos private a protected necesarias para que puedan pasar los IDs correctamente.
- Comprobar que nuestras nuevas variables y funciones de las extensiones se ejecutan y pueden usar la información del objeto original.
Como siempre, si tenéis alguna duda en cuanto a los vídeos o los ejercicios, podéis usar el formulario de soporte de la Intranet y os atenderemos encantados :)
Nos vemos en la siguiente clase, en la que daremos un paso más en el fantástico mundo de los objetos. ¡No os la perdáis, que tendrá mucha miga!
Todos los capítulos de este curso:
- Curso de OOP #1: ¿Qué es la programación orientada a objetos?
- Curso de OOP #2: Creando nuestro primer objeto
- Curso de OOP #3: Constructores y destructores
- Curso de OOP #4: Uso de Public y Private
- Curso de OOP #5: Herencias y extensiones
- Curso de OOP #6: JSON
- Curso de OOP #7: Seguridad
- Curso de OOP #8: Gestor de errores
- Curso de OOP #9: Repaso desde cero
- Curso de OOP #10: MySQLi