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:
Links Interface vs Herencia:
- 🔗 www.techandsolve.com,alta-cohesion-y-bajo-acoplamiento-en-diseno-de-software
- 🔗 object-oriented-programming-plc-using-inheritance-ralph-koettlitz
- 🔗 stefanhenneken.net,iec-61131-3-object-composition-with-the-help-of-interfaces