
Un interface es como una clase vacía que solamente contiene declaraciones de métodos. Se definen utilizando la palabra interface
.
Por ejemplo, antes viste que podías crear nuevas clases heredadas de Producto
, como TV
o Ordenador
. También viste que en las subclases podías redefinir el comportamiento del método muestra
para que generara una salida en HTML diferente para cada tipo de producto.
Si quieres asegurarte de que todos los tipos de productos tengan un método muestra
, puedes crear un interface como el siguiente.
interface iMuestra {
public function muestra();
}
Y cuando crees las subclases deberás indicar con la palabra implements
que tienen que implementar los métodos declarados en este interface.
class TV extends Producto implements iMuestra {
. . .
public function muestra() {
echo "<p>" . $this->pulgadas . " pulgadas</p>";
}
. . .
}