
Cuándo usar una clase abstracta y cuándo una interface
Un lector de mi libro sobre Programación Orientada a Objetos con PHP me envía esta pregunta a través de LinkedIn: Empecé a responderle a su mensaje pero luego se me ocurrió que sería mejor aprovechar y contestarlo en público así que aquí voy. Empecemos por comprender de qué se trata cada uno. Qué es una clase abstracta En su definición más cruda una clase se dice abstracta si no es posible utilizarla para crear objetos (instancias). Suena un poco raro, ¿no? ¿Para qué quiero tener una clase si no es para crear instancias? La explicación viene asociada al concepto de Herencia (Tema para otro artículo en todo caso). Una clase abstracta puede usarse como base de una jerarquía. Se define de esta forma: <?php abstract class Abstracta { public function…