uqbar-project / wollok

Wollok Programming Language
GNU General Public License v3.0
60 stars 16 forks source link

El comportamiento de `initialize` no se hereda #2023

Open julian-berbel opened 1 year ago

julian-berbel commented 1 year ago

Para el código:

class A {
  method initialize() {
    console.println("Creando un objeto!")
  }
}

class B inherits A {}

Wollok se está comportando de esta forma:

>>> new A()
Creando un objeto!
a A
>>> new B()
a B

El comportamiento del initialize se debería heredar como el de cualquier otro método. Esto como funciona ahora se puede lograr pisando el método con un llamado a super:

class B inherits A {
  method initialize() {
    super()
  }
}

Pero por otro lado esto tira un (razonable, en mi opinión) warning de que no tiene sentido pisar un método sólo para llamar a super.