Ich hoffe, ich blamiere mich jetzt mal nicht allzu sehr.
Erst neulich ist mir folgendes Verhalten bewusst gewurden, wofür ich gern eine Erklärung bzw. Workaround hätte.
Ich habe einen Interpreter geschrieben, der seine 3 Typen von einer Klasse(Basis) erbt. Weil Java statisch Typen prüft, musste ich immer casten bei Funktionsrückgaben, da das Basisobjekt verwendet wurde, der Code wurde letztendlich ziemlich wild und häßlich. Das habe ich dann umgegangen indem ich dem Basisobjekt das gleichnamige Attribut value hinzugefügt hatte. Nun musste nicht mehr ganz so oft gecastet werden.
Nun zeigt meine IDE(Eclipse) interessanterweise 2 Attribute an für meine Kindobjekte. Eins von der Basis und ihr eigenes(Ein Begriff zum googlen hätte ich gern, um mich einzulesen). Mir ist mehr oder weniger nicht exakt klar, warum das so ist. Wieso überschreiben die Kindobjekte das Attribut nicht? Das eine Attribut stammt von der Basis das andere vom Kind. Der akt. Typ ist vom Kind, deklariert ist klarerweise als Basistyp. Sie leben getrennt nebeneinander und der eine ist via super vom Kind aus zu erreichen.
Erst neulich ist mir folgendes Verhalten bewusst gewurden, wofür ich gern eine Erklärung bzw. Workaround hätte.
Ich habe einen Interpreter geschrieben, der seine 3 Typen von einer Klasse(Basis) erbt. Weil Java statisch Typen prüft, musste ich immer casten bei Funktionsrückgaben, da das Basisobjekt verwendet wurde, der Code wurde letztendlich ziemlich wild und häßlich. Das habe ich dann umgegangen indem ich dem Basisobjekt das gleichnamige Attribut value hinzugefügt hatte. Nun musste nicht mehr ganz so oft gecastet werden.
Nun zeigt meine IDE(Eclipse) interessanterweise 2 Attribute an für meine Kindobjekte. Eins von der Basis und ihr eigenes(Ein Begriff zum googlen hätte ich gern, um mich einzulesen). Mir ist mehr oder weniger nicht exakt klar, warum das so ist. Wieso überschreiben die Kindobjekte das Attribut nicht? Das eine Attribut stammt von der Basis das andere vom Kind. Der akt. Typ ist vom Kind, deklariert ist klarerweise als Basistyp. Sie leben getrennt nebeneinander und der eine ist via super vom Kind aus zu erreichen.
Zuletzt bearbeitet: