POO (7): Herencia vs implementación – Implements.
La semana pasada estuvimos varios días trabajando la herencia de clases. Ahora vamos a estudiar las interfaces de objetos. En VISUAL, una clase sólo puede heredar de una clase a Importante: no se pueden crear objetos de las interfaces. Una interfaz se usa para que las clases que la implementen ( ≠ hereden) tengan unos tipos o métodos comunes. Así se garantiza que las clases implementadoras usan esos tipos. NOTA: Se trata de un caso muy distinto al conceto de “herencia múltiple”. Las interfaces se dice que pertenecen a los polimorfismos. Debemos tener en cuenta que una interfaz puede heredar de otra. Y son las únicas que pueden heredar de más de una interfaz a la vez pero no puede implementar ninguna interfaz.
Ejemplo:
Class Arraylist
Implements IList
Class List
Implements IList
De esta manera, las 2 clases implementan IList.
Hemos empezado con este proyecto de interfaces: Proyecto 220811Interfaces1.
El siguiente proyecto fue éste: Proyecto 220811ClaseGenerica.
Otro proyecto: Proyecto 220811Interfaces2.
Se puede ver en el siguiente diagrama lo analizado.
La siguiente tabla nos muestra las conclusiones de estos ejercicios para distinguir implementación de herencia:
INTERFACE | CLASE | ||
Hereda de una clase | NO | SÍ | INHERITS |
Hereda de varias clases | NO | NO | |
Hereda de interfaces | SÍ | NO | |
Hereda de más de una interface | SÍ | NO | |
Implementa interface | NO | SÍ | IMPLEMENTS |
Implementa más de una interface | NO | SÍ |