Why use OOP?
Pagina: « vorige 1 2 3 4 5 volgende »
@Danny: Dat is wel handig als ik wat verder ben in OOP om op terug te komen, zou denk ik wat meer snelheid geven in het creeeren van code ofniet?
Ja, wat al eigenlijk werd aangehaald.. als je een Model hebt, de Controller hebt.. dan hoef je alleen de View aan te passen, dus eigenlijk wat je op beeld toont aan informatie (om het een andere design te geven, ofwel de uitvoer passend te maken in je design)
En zoals wat betreft @Jan zegt,
Stel je voor je hebt een eenvoudige Class
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
Class Rekenmachine
{
var $som
functie Optelling ($a,$b)
{
$this->som = $a + $b;
}
}
{
var $som
functie Optelling ($a,$b)
{
$this->som = $a + $b;
}
}
Als ik dit doe:
Code (php)
1
2
3
2
3
$zakjapanner = new Rekenmachine();
$zakjapanner->Optelling(5,5);
echo $zakjapanner->som;
$zakjapanner->Optelling(5,5);
echo $zakjapanner->som;
Dan maak je een object aan ($zakjapanner) welke refereert naar de Class Rekenmachine. Vanuit dit object kun je de functie's (ofwel methods) aanspreken, en in de class als er informatie in $this->som wordt gezet, dan is $this buiten de Class de Object die refereert naar de Class ($zakjapanner dus).
Maar mijn tip, gewoon doen.. proberen.. falen.. werkt beter dan alleen maar van ons alles horen zeggen. Ik ben namelijk bang dat je zodra te veel informatie krijgt en er van af gaat zien, en dat moet echt niet gebeuren.
Maar in die interface, wanneer gebruik je die. Uit je voorbeeld lijkt het zo te zijn dat je die interface alvast gebruikt om een functie te initialiseren oid. Daarna maak je die functie alsnog aan in de klasse, zou het niet net zo werken zonder die interface in je voorbeeld?
Ik ga nu babbelen jullie maar verder xD
Doei =)
deze pagina, vlak onder het diagram 'product'.
@ Robert: dat heeft weer te maken met type hinting. Voor een uitleg, zie Daarnaast is het dan mogelijk om te zorgen dat de input in je classe aan een aantal voorwaarden voldoet en om daarop te controleren? Oftewel, de input wordt gecontroleerd. Bevat (in het online voorbeeld van je link) een item/ de parameter geen Titel, dan is die ongeldig.
(misschien een beetje warrig uitgelegd, maar ik denk dat het zo zit :))
@ Robert: klopt. Met een interface leg je een blauwdruk voor een klasse vast. Voldoet een functieargument niet aan die blauwdruk, krijg je een error voor je kiezen.
Bedankt maar weer voor zover!
OO programmeren leer je het beste door gewoon veel te doen en te proberen. En vragen op bijv. PHPHulp als je er niet meer uitkomt.
Graag gedaan, Robert. Trusten!
public function functie(Object $o);
Daarnaast heb je ook nog abstracte klassen, waarin je een deel kan implementeren en een deel open kan laten.
het mooie van OOP is is dat het gehele denk principe best bewerkelijk is, iedereen heeft zo zijn eigen interpretaties en ideeën. Je kunt heel ver gaan in het normaliseren va nje objecten, maar je kan het ook bruikbaar houden. daar tussen in zoekt iedereen zijn weg. Er is niet echt een duidelijke lijn te trekken, alleen het basis principe is over te brengen en daar zul je je eigen draai aan moeten geven. Draag er zorg voor dat logica behouden blijft en je zit goed:)
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Gastenboek
Wat moet er kunnen, welke objecten zijn nodig?
# Toevoegen
# Bekijken
Attributen met methodes
# __Constructor
- Controle of form van toevoegen is gepost
- Controle of alle gegevens zijn geset en anders error geven
# Toevoegen
- Naam
- Email
- IP-adres
- Bericht
- Datum
# Bekijken
- Paginanummering
- Aantal berichten per pagina
- Weergeven van de berichten (op datum)
Wat moet er kunnen, welke objecten zijn nodig?
# Toevoegen
# Bekijken
Attributen met methodes
# __Constructor
- Controle of form van toevoegen is gepost
- Controle of alle gegevens zijn geset en anders error geven
# Toevoegen
- Naam
- IP-adres
- Bericht
- Datum
# Bekijken
- Paginanummering
- Aantal berichten per pagina
- Weergeven van de berichten (op datum)
Gewijzigd op 01/01/1970 01:00:00 door Vincent
Ik zou voor een reactie een eigen klasse gebruiken.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Class: Gastenboek
- reacties ( Array met objecten van Reacties )
# __Constructor
- Deze haalt alle reacties uit de database en maakt objecten aan en plaatst ze in reacties
# __toString
Retourneerd het hele gastenboek, gaat dus alle reacties af om de html op tehalen en retourneerd een string
etc
Class: Reactie
- naam
- email
- bericht
- datum
- ip
#__toString
Deze retourneerd een string van de hele reactie
- reacties ( Array met objecten van Reacties )
# __Constructor
- Deze haalt alle reacties uit de database en maakt objecten aan en plaatst ze in reacties
# __toString
Retourneerd het hele gastenboek, gaat dus alle reacties af om de html op tehalen en retourneerd een string
etc
Class: Reactie
- naam
- bericht
- datum
- ip
#__toString
Deze retourneerd een string van de hele reactie
Gewijzigd op 01/01/1970 01:00:00 door Thijs X
Daar zie ik het nut namelijk niet echt van in =)
Ik zie zo daar he nut ook niet van dan.
Robert_Deiman schreef op 06.02.2008 11:32:
Hij heeft toch al een klasse "toevoegen" een reactie is ook een toevoeging in het gastenboek.
Ik zie zo daar he nut ook niet van dan.
Ik zie zo daar he nut ook niet van dan.
Ik denk dat je mijne beetje wrong hebt gezien want het is 1 klasse :P
Dat is een methode van de klasse Gastenboek en niet een apparte klasse.
@ Vincent,
Het voorbeeld wat je hierboven hebt gepost is niet OOP Vincent dat is gewoon aantal functies met een class naam eromheen.
Gewijzigd op 01/01/1970 01:00:00 door Thijs X
- Bekijken
en
- Reactie
Die hoeven elkaar toch niet te extenden?