Hallo,
Mijn vraag heb ik nog niet helder voor ogen, en misschien is het wel een onzin-vraag, maar toch even kijken hoe en wat. De kwestie heeft betrekking op classes die worden 'extend' door een andere class. Waar het in het kort op neerkomt, is dat ik een class, afhankelijk van een setting die hij mee krijgt, wil laten kiezen van welke 'extended' class hij een object wordt. En dat dan zonder te werken met een factory method.
Het komt dus neer op zoiets als dit:
Kan zoiets? Of is het sowieso onzin en is hier een beter alternatief voor?
Overigens zou ik het liefst nog zelfs op een later moment (dus nadat het Car object al gemaakt is) het object nog willen 'transformeren' naar een instance van één van de specifieke classes.
Mijn vraag heb ik nog niet helder voor ogen, en misschien is het wel een onzin-vraag, maar toch even kijken hoe en wat. De kwestie heeft betrekking op classes die worden 'extend' door een andere class. Waar het in het kort op neerkomt, is dat ik een class, afhankelijk van een setting die hij mee krijgt, wil laten kiezen van welke 'extended' class hij een object wordt. En dat dan zonder te werken met een factory method.
Het komt dus neer op zoiets als dit:
PHP:
1
2
3
4
5
6
7
8
9
10
11
| class Sedan extends Car { } class Convertible extends Car { } class Car { public function __construct($type) { if ( $type == 'sedan' ) { $this = new Sedan(); } elseif ( $type == 'convertible' ) { $this = new Convertible(); } } } |
Kan zoiets? Of is het sowieso onzin en is hier een beter alternatief voor?
Overigens zou ik het liefst nog zelfs op een later moment (dus nadat het Car object al gemaakt is) het object nog willen 'transformeren' naar een instance van één van de specifieke classes.