|
Categorieën >
PHP
Object Georiënteerd
|
|
|
offline
|
PHP interesse
|
Hallo,
Ik probeer het object georiënteerd programmeren nog steeds onder de knie te krijgen en ik snap alle voorbeelden van Personen en Auto's nu wel, maar het in de praktijk gebruiken heb ik nog problemen mee.
Ik hoop dat jullie mij hierbij kunnen helpen en hier even de tijd voor willen nemen.
Stel ik wil een soort van DVD systeem bouwen, dus waar ik mijn dvd collectie in kan opslaan.
Het systeem heeft de volgende functies:
- Inloggen/Uitloggen
- Gehele DVD lijst uitlezen
- Per DVD info bekijken
- DVD toevoegen
Wat voor classes zouden jullie dan gebruiken en op wat voor manier?
Ik hoop dat jullie wat simpele voorbeelden kunnen en willen geven!
Alvast bedankt!
|
12 antwoorden
|
|
|
offline
|
PHP expert
|
class UserManagement {
public function login() {}
public function logoff() {}
public function register() {}
public function .....() {}
}
class library {
public function read() {}
public function write() {}
public function delete() {}
public function modify() {}
}
class DVD extends library {
public function readDvd() {}
public function writeDvd() {}
public function deleteDvd() {}
public function modifyDvd() {}
}
class UserManagement { public function login() {} public function logoff() {} public function register() {} public function .....() {} } class library { public function read() {} public function write() {} public function delete() {} public function modify() {} } class DVD extends library { public function readDvd() {} public function writeDvd() {} public function deleteDvd() {} public function modifyDvd() {} }
|
Sar – 09/03/2010 12:34 (Laatst gewijzigd op 09/03/2010 12:36)
|
|
offline
|
PHP interesse
|
Mijn dank! Maar een tijdje terug had ik ook zoiets in een ander systeem verwerkt, en toen kreeg ik te horen dat het nu gewoon een stapeltje functies binnen een class was en geen OOP. (Dit was op een ander forum)
Maar zoals jij het nu zegt is het gewoon OOP?
Ik zie net trouwens dat ik in het verkeerde forum heb gepost, dit moest PHP zijn.
Zou dit veranderd kunnen worden?
|
|
|
|
offline
|

Crew .NET
|
Dit is ook niet echt volledig OOP. Het zijn ook maar een aantal functies binnen een class.
|
|
|
|
offline
|
Nieuw lid
|
titjes schreef: Dit is ook niet echt volledig OOP. Het zijn ook maar een aantal functies binnen een class.
Mee eens, je kan je complete structuur van je applicatie moeilijk van te voren bedenken. De basis voordat je begint is altijd goed, maar het meeste denkwerk komt tijdens het scripten
|
|
|
|
offline
|
PHP beginner
|
Ontani schreef: [..quote..]
Eigenlijk is het de bedoeling dat je dat wel doet voor je zelfs aan het programeren begint...
Nou, je kan de structuur bedenken, je kan niet van tevoren bedenken welke functies er allemaal in de class 'users' komen te staan, dat zie je vanzelf tijdens het scripten.
|
Joost – 09/03/2010 18:11 (Laatst gewijzigd op 09/03/2010 18:14)
|
|
offline
|
PHP expert
|
nick5556 schreef: [..quote..]
Nou, je kan de structuur bedenken, je kan niet van tevoren bedenken welke functies er allemaal in de class 'users' komen te staan, dat zie je vanzelf tijdens het scripten. Nee, niet, dit moet je eigenlijk van tevoren doen. In de praktijk zal het lang niet altijd gebeuren maar het is wel de bedoeling. Er zijn goede technieken hiervoor zoals UML.
|
|
|
|
offline
|

Crew .NET
|
Uiteraard is het de bedoeling dat je je project volledig "uittekent" voor je gaat programmeren. Dit heet analyseren en documenteren. Hiervoor kan je inderdaad UML gebruiken. Na deze fase weet je normaal al welke klassen je eventueel zal gaan gebruiken en welke velden, eigenschappen en methodes er in deze klassen zullen zitten.
|
Sar – 10/03/2010 12:00
|
|
offline
|
PHP interesse
|
Hebben mensen eventueel nog andere voorbeelden van hoe dit goed OOP te doen?
|
avdg – 10/03/2010 23:11 (Laatst gewijzigd op 10/03/2010 23:15)
|
|
offline
|
PHP gevorderde
|
Ik zou beginnen met use cases te maken met de daar bijhorende documentatie. Dit wil zeggen dat je al code schrijft hoe je je code gaat gebruiken voordat je al aan je classes begint te scripten.
Hier een simpel voorbeeld van een use case
<?php
//De eenvoudige manier om een gebruiker te testen of die al dan niet ingelogd is
//Maak een nieuw object aan en test of de gebruiker (al) ingelogd is
$login = new UserManagement;
//kijkt na of de gebruiker ingelogd is
if($login->isLoggedIn()){
//gebruiker is ingelogd
} else {
//gebruiker is niet ingelogd
}
<?php //De eenvoudige manier om een gebruiker te testen of die al dan niet ingelogd is //Maak een nieuw object aan en test of de gebruiker (al) ingelogd is $login = new UserManagement; //kijkt na of de gebruiker ingelogd is if($login->isLoggedIn()){ //gebruiker is ingelogd } else { //gebruiker is niet ingelogd }
|
Dit onderwerp is gesloten.
|
|
|