Ik ben mij maar weer eens in VB aan het verdiepen om een programma bij een klant uit te breiden.
Ik heb drie klassen
Persoon, Werknemer en klant.
Werknemer en klant zijn natuurlijk afgeleid van de klasse persoon.
Nu wil ik in de klasse persoon een functie delete toevoegen waarmee ik een persoon uit de database kan verwijderen. Mijn probleem is dat deze persoon een werknemer of klant kan zijn en bij beide er nog extra informatie wordt opgeslagen die ook verwijderd moet worden. Beide klassen hebben dus een overloaded delete functie die daarvoor zorgt.
Echter, de bestaande code geeft de persoon als object mee naar verschillende functies waardoor in die functies het niet bekend is of het om een werknemer of klant gaat. In eerste instantie dacht ik dat dit geen probleem mocht zijn doordat je iets als
cType(PersoonObject,PersoonObject.getType)
zou kunnen doen om het object naar het oorspronkelijke object terug te kunnen converteren. Helaas niet dus
cType vereist dat het type al vast staat tijdens het ontwerp. Dus heeft er iemand een idee om wel dynamisch de juiste klasse te kunnen bepalen en de goede delete functie aan te kunnen roepen?
Ik heb drie klassen
Persoon, Werknemer en klant.
Werknemer en klant zijn natuurlijk afgeleid van de klasse persoon.
Nu wil ik in de klasse persoon een functie delete toevoegen waarmee ik een persoon uit de database kan verwijderen. Mijn probleem is dat deze persoon een werknemer of klant kan zijn en bij beide er nog extra informatie wordt opgeslagen die ook verwijderd moet worden. Beide klassen hebben dus een overloaded delete functie die daarvoor zorgt.
Echter, de bestaande code geeft de persoon als object mee naar verschillende functies waardoor in die functies het niet bekend is of het om een werknemer of klant gaat. In eerste instantie dacht ik dat dit geen probleem mocht zijn doordat je iets als
cType(PersoonObject,PersoonObject.getType)
zou kunnen doen om het object naar het oorspronkelijke object terug te kunnen converteren. Helaas niet dus