Ver Mensaje Individual
  #7 (permalink)  
Antiguo 27/06/2007, 10:32
GreenEyed
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 7 meses
Puntos: 51
Re: problema con las superclases,

Creo que, además de la cuestión del static, el problema es un error de concepto. Cuando tu heredas de una clase, los objetos que crees de las clases hijas son objetos de las clases hijas, y punto. No hay dos objetos, uno de la clase hija y otro de la clase padre, y el usar super no se usa mas que cuando estas "sobre-escribiendo" un atributo o metodo, pero si no es lo mismo que lo pongas como si no.

Para explicarme mejor, cuando tu creas una instancia de Activated, el atributo activatedPoints[] es de esa instancia, no de FlockBehavior ni de ninguna instancia de esa clase.

Por otro lado, los atributos/metodos de static "no se heredan", si no que son de la clase que los declara. Así que declarando activatedPoints[] como static podras accederlo desde Activated/Desactivated, pero no por que lo hereden sino por su naturaleza de "static".

Finalmente, quizá la herencia si sea apropiada, tampoco se ve tanto como para decirlo, pero lo que si parece bastante desafortunada es la eleccion de nombres. Es más claro usar sustantivos, ya que usar adjetivos suele dar lugar a confusión.

S!