Toon posts:

[JAVA]Vreemde OO implementatie?

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een class DataVO, daarvan afgeleid zijn bv PersoonsBeschVO.
Nu kan het voorkomen dat ik een string krijg waarin alle waardes zitten die in het VO moet komen.
Nou wil ik de benodigde parsing kode natuurlijk in DataVO zetten, zodat alleen de record beschrijving in PersoonsBeschVO hoeft te worden gespecificeerd.
Wat blijkt ondanks dat je tegen de instantie van PersoonsBescVO praat de code in DataVO toch niet de record beschrijving van PersoonsBeschVO kent, alleen zijn eigen lege definitie.

Dit begrijp ik niet, ik ken Powerbuilder en van Platinum Aion waar het wel goed ging.
Het lijkt erop dat ik toch voor iedere afgeleide class van DataVO toch iedere keer weer dezelfde code moet herhalen.

Weet iemand wat meer over hoe dit hoort te werken?

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

Ik heb een poging gewaagt om uit te vinden wat je bedoelt, maar het is me niet gelukt. Kun je het nog een keer duidelijk uitleggen zodat we je kunnen meehelpen om het probleem op te lossen ipv eerst het probleem van het probleem op te lossen.

  • whoami
  • Registratie: December 2000
  • Laatst online: 20:22
* whoami snapt ook niet wat er bedoelt wordt.

https://fgheysels.github.io/


Verwijderd

Topicstarter
Wat ik bedoel dat ik verwacht dat de code van de ancestor de gevulde attributen van de descendant gebruikt omdat het hetzelfe geinstantieerde object zou zijn.
Nu blijkt dat niet het geval te zijn.

  • Scare360
  • Registratie: Juli 2001
  • Laatst online: 27-08 08:10
is dat niet vanzelfsprekend dan? Lees eens iets over inheritance ;)

trouwens een vreemde beschrijving, communicatie storingen

[edit]
ouder kind relatie is het probleem... pik het hoofdstuk superclasse er eens bij.

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

Op vrijdag 12 juli 2002 12:28 schreef otaku-san het volgende:
Wat ik bedoel dat ik verwacht dat de code van de ancestor de gevulde attributen van de descendant gebruikt omdat het hetzelfe geinstantieerde object zou zijn.
Nu blijkt dat niet het geval te zijn.
Ik denk dat er dan iets anders foutgaat. Post eens een stuk van je code.

  • whoami
  • Registratie: December 2000
  • Laatst online: 20:22
Op vrijdag 12 juli 2002 12:30 schreef paulgielens het volgende:
is dat niet vanzelfsprekend dan? Lees eens iets over inheritance ;)
Ik denk dat bedoelt, maar dat het niet werkt.

Je hebt dus:
Class A
|
|
Class B

Class B is dus afgeleid van A. En je wilt dat functies die in A geimplementeerd zijn aan de inhoud van de attributten kunnen van Class B?
Welke attributen zijn dat dan? Variablen die in A gedeclareerd werden of in B?

https://fgheysels.github.io/


  • Soultaker
  • Registratie: September 2000
  • Laatst online: 15:34
Ik gok dat er attributen verborgen worden, doordat ze de in de derived class opnieuw gedefinieerd worden. Of dit in Java inderdaad zomaar kan, weet ik niet, maar in C++ zou dit normaal gedrag zijn.

In dat geval wijzigt een methode van de base class de attributen die van de base class geërft zijn en dat zijn (logischerwijs) andere attributen dan die in de derived class zijn toegevoegd, ook al heten ze hetzelfde.

Attributen en methoden die van een base class geërft worden, moeten niet nogmaals gedefinieerd worden in een derived class, tenzij je de gegevens expliciet wilt hiden.

  • Scare360
  • Registratie: Juli 2001
  • Laatst online: 27-08 08:10
Op vrijdag 12 juli 2002 12:32 schreef whoami het volgende:

[..]

Ik denk dat bedoelt, maar dat het niet werkt.

Je hebt dus:
Class A
|
|
Class B

Class B is dus afgeleid van A. En je wilt dat functies die in A geimplementeerd zijn aan de inhoud van de attributten kunnen van Class B?
Welke attributen zijn dat dan? Variablen die in A gedeclareerd werden of in B?
ik raak in de war van dergelijke kromme gedachtes :? Als je inheritance degelijk uitwerkt heb je dergelijk problemen helaam niet... via super kun je toch overal bij in de base-class. Beetje vreemd om via de base je afgeleiden na te lopen.

ps: waar ga je op vakantie?

Verwijderd

Topicstarter
Op vrijdag 12 juli 2002 12:30 schreef paulgielens het volgende:
is dat niet vanzelfsprekend dan? Lees eens iets over inheritance ;)

trouwens een vreemde beschrijving, communicatie storingen

[edit]
ouder kind relatie is het probleem... pik het hoofdstuk superclasse er eens bij.
Ik weet heus wel iets van inheritance,

Ooops, ik begrijp nu pas wat er gebeurd is.

Ik had het eerst alles in alles in de descendant gemaakt en besloot daarna het op een hoger niveau te brengen, maar de attribuut definitie stond ook nog in de descendant .
Dat is de reden waarom die niet kon worden gebruikt.
Ik had alleen de record definitie moet assignen aan het hoger gedefinieerde attribuut.


Mijn fout.

slotje?

  • Scare360
  • Registratie: Juli 2001
  • Laatst online: 27-08 08:10
Op vrijdag 12 juli 2002 12:36 schreef Soultaker het volgende:
Ik gok dat er attributen verborgen worden, doordat ze de in de derived class opnieuw gedefinieerd worden. Of dit in Java inderdaad zomaar kan, weet ik niet, maar in C++ zou dit normaal gedrag zijn.

In dat geval wijzigt een methode van de base class de attributen die van de base class geërft zijn en dat zijn (logischerwijs) andere attributen dan die in de derived class zijn toegevoegd, ook al heten ze hetzelfde.

Attributen en methoden die van een base class geërft worden, moeten niet nogmaals gedefinieerd worden in een derived class, tenzij je de gegevens expliciet wilt hiden.
juistem!

  • whoami
  • Registratie: December 2000
  • Laatst online: 20:22
Op vrijdag 12 juli 2002 12:36 schreef paulgielens het volgende:

[..]

ik raak in de war van dergelijke kromme gedachtes :? Als je inheritance degelijk uitwerkt heb je dergelijk problemen helaam niet... via super kun je toch overal bij in de base-class. Beetje vreemd om via de base je afgeleiden na te lopen.
Kromme gedachtes van mij, idd... Maar je weet nooit hoor de laatste tijd. :)
ps: waar ga je op vakantie?
La douce France, nabij Beziers.

https://fgheysels.github.io/

Pagina: 1