Por lo que puedo decir de Scala y Hack-
Mixins:
- Puede tener estado (es decir, propiedades de instancia)
- Solo puede proporcionar métodos concretos
- Puede tener constructores, que se llaman en el mismo orden en que se mezclaron sus clases
- Si se
A
mezcla enB
yC
,A instanceof B == false
yA instanceof C == false
Rasgos:
- Solo puede proporcionar métodos, no indicar
- Puede declarar métodos abstractos, que un consumidor debe implementar
- No puede tener constructores.
- Si
A
implementa rasgosB
yC
,A instanceof B == false
yA instanceof C == false
¿Es correcto o me falta algo? ¿Estas definiciones son precisas para cualquier lenguaje OO o solo para los mencionados anteriormente?