Een eerder topic vandaag heeft mij aan het denken gezet over OOP.
Ik wil graag jullie MENINGEN horen! Dus iedereen die iets doet met OOP, reageer alsjeblieft even.
Stel dat we een class hebben die een auto in elkaar zet. Laten we het simpel houden. Deze class zoekt op basis van het opgegeven model de juiste autobanden, de juiste motor, de juiste carrosserie en het juiste interieur (dashboard, stoelen, bekleding) en installeert en configureert deze zaken vervolgens. Nogmaals, het is even een heel simpel voorbeeld. Het gaat vooral om de gedachte. In mijn vorige topic zei Wouter dat je de methoden in een class gescheiden moet houden van de constructor. En daar kan ik zeker wel inkomen. Je zou dan het volgende krijgen:
<?php
$model = 307; // we gaan een Peugeot 307 maken
$auto = new Auto($model);
$auto->zoekEnInstalleerBanden();
$auto->zoekEnInstalleerMotor();
$auto->zoekEnInstalleerCarrosserie();
$auto->zoekEnInstalleerInterieur();
?>
Voila, we hebben een Peugeot 307 gefabriceerd!
Nu komt de vraag... een auto wordt altijd op dezelfde manier gebouwd met behulp van de bovenstaande 4 functies. Aangezien deze functies altijd moeten worden uitgevoerd om een auto te maken, is mijn vraag de volgende.
Vinden jullie (de OOP gebruikers) het een goed idee om de 4 functies vanuit de constructor aan te roepen. Dan zou je om een Peugeot 307 te maken alleen nog maar dit hoeven te doen:
<?php
$model = 307; // we gaan een Peugeot 307 maken
$auto = new Auto($model);
?>
En de Peugeot 307 is klaar.
De 4 functies zouden we private kunnen maken, zodat we deze niet van buitenaf kunnen aanroepen. De complete auto wordt dus gemaakt door enkel het model mee te geven aan de constructor.
Graag reacties... wel of geen goed idee? En waarom wel of niet?
Ik ben erachter dat in de OOP wereld er veel sprake is van persoonlijke voorkeur. Dat is niet erg, ik ben gewoon benieuwd naar jullie meningen. Dus wat zouden jullie doen. De functies handmatig aanroepen, of triggeren vanuit de constructor?
2.076 views