Saltar a contenido

Interface vs Herencia

Interface vs Herencia:

Herencia:

  • Debemos definir la implementación de la clase base.
  • Las clases heredadas dependen de la clase base.
  • La jerarquia de herencia profunda produce alta dependencia, y esto no esta bien lo que se busca es una baja dependencia y alta cohesión.
  • La jerarquia de herencia profunda puede complicarse si es necesario cambiar la clase base.
  • La jerarquia de herencia profunda por regla general no deberia pasar de más de 3 niveles de herencia.
  • Administrar el acceso a datos con especificadores de acceso puede ser más difícil con una gran herencia.
  • La herencia múltiple en una misma Clase no es compatible.

Interface:

  • La clase base (clase abstracta) no tiene implementación.
  • No hay dependencias entre las clases que implementan la misma interfaz.
  • Se permite la implementación de múltiples interfaces en una misma Clase.

Las Interfaces y la Herencia pueden trabajar de la mano, utilizarse a la vez cogiendo de cada una lo mejor posible:

Interface_vs_Herencia