Título: Pregunta sobre herencia en SmallTalk Publicado por: astinx en 20 Febrero 2012, 22:32 pm Hola, tengo una duda acerca de herencia en SmallTalk.
Supongamos lo siguiente: Tenemos una clase A, con atributos x e y, disponemos de los métodos #x:unValor, #y:otroValor, #x e #y. Es decir de los métodos para establecer y obtener los valores de los atributos. Ahora también hemos sobreescrito el new, de manera que no se pueda hacer referencia a él, algo como: #new Código: ^(self error: 'Debe usarse el constructor apropiado en esta clase'). Hemos creado el constructor de esta clase que sería algo como: Código: x:unValor y:otroValor Ahora supongamos que creamos una clase hija B, con el atributo adicional z, y tambien creamos los métodos para obtener y establecer el valor del atributo z. Vamos a crear el constructor. Sobreescribimos el método #new, de la misma manera de antes y creamos el constructor. Quedaria de la siguiente manera: Código: x:unValor y:otroValor z:elUltimoValor Mi duda es la siguiente: ¿Como esto puede funcionar?, es decir estamos utilizando un constructor de la clase padre, por lo tanto Código: super x:unValor y:otroValor ¿Tienen alguna idea de que podría ser lo que no estoy viendo?, ¿Obvie algo del POO?, ¿Hay algo que hice que no debí haber hecho?, ¿Sobreescribir el #new? Muchas gracias por detenerse a leer. |