Why use OOP?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: « vorige 1 2 3 4 5 volgende »

Vincent

Vincent

05/02/2008 22:09:00
Quote Anchor link
@Jan: In jou voorbeeldje, waar is dan die construct functie voor? Ik zie 't nut namelijk niet echt..
@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?
 
PHP hulp

PHP hulp

26/04/2024 22:24:32
 
Jan Koehoorn

Jan Koehoorn

05/02/2008 22:10:00
Quote Anchor link
Die construct functie wordt automatisch uitgevoerd als er een nieuwe instantie van je klasse wordt aangemaakt. Dus als je doet:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
    $m
= new man ();
?>

wordt automatisch $m->geslacht op 'man' gezet.
 
Danny Roelofs

Danny Roelofs

05/02/2008 22:23:00
Quote Anchor link
@Vincent,

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)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
Class Rekenmachine
{
    var $som

    functie Optelling ($a,$b)
    {
        $this->som = $a + $b;

    }
}


Als ik dit doe:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
$zakjapanner = new Rekenmachine();
$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.
 
Robert Deiman

Robert Deiman

05/02/2008 22:25:00
Quote Anchor link
@Jan

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?
 
Vincent

Vincent

05/02/2008 22:30:00
Quote Anchor link
Ziet er allemaal duidelijk uit, morgen maar is knutselen =)
Ik ga nu babbelen jullie maar verder xD
Doei =)
 
Jan Koehoorn

Jan Koehoorn

05/02/2008 22:39:00
Quote Anchor link
@ Robert: dat heeft weer te maken met type hinting. Voor een uitleg, zie deze pagina, vlak onder het diagram 'product'.
 
Robert Deiman

Robert Deiman

05/02/2008 22:49:00
Quote Anchor link
Dus als ik het goed begrijp stel je in die interface een aantal functies op die je MOET gebruiken in een class waarin je de interface initialiseerd (bijvoegd), een extra soort controle zeg maar.
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 :))
 
Jan Koehoorn

Jan Koehoorn

05/02/2008 22:56:00
Quote Anchor link
@ 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.
 
Robert Deiman

Robert Deiman

05/02/2008 22:58:00
Quote Anchor link
Mooi, dan is ook dat me helder.. :) Ben bezig met een project waarvoor ik al een aantal functies heb geschreven, maar ga het misschien wel herschrijven naar een klasse. Dit soort dingen is daarbij erg handig om te weten.
Bedankt maar weer voor zover!
 
Thijs X

Thijs X

05/02/2008 23:04:00
Quote Anchor link
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.
 
Jan Koehoorn

Jan Koehoorn

05/02/2008 23:14:00
Quote Anchor link
Graag gedaan, Robert. Trusten!
 
Jan geen

Jan geen

06/02/2008 01:16:00
Quote Anchor link
Een interface gebruik je, om af te dwingen dat een klasse die dit interface implementeert ook alle functies uit het interface bevat. In een interface implementeer je geen functies, je doet alleen iets als
public function functie(Object $o);
Daarnaast heb je ook nog abstracte klassen, waarin je een deel kan implementeren en een deel open kan laten.
 
M Ypma

M Ypma

06/02/2008 03:07:00
Quote Anchor link
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:)
 
Vincent

Vincent

06/02/2008 10:18:00
Quote Anchor link
Wat vinden jullie hiervan, ik heb namelijk mijn gastenboek uitgeschreven:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
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)
Gewijzigd op 01/01/1970 01:00:00 door Vincent
 
Thijs X

Thijs X

06/02/2008 11:10:00
Quote Anchor link
@ Vincent,

Ik zou voor een reactie een eigen klasse gebruiken.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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
Gewijzigd op 01/01/1970 01:00:00 door Thijs X
 
Vincent

Vincent

06/02/2008 11:26:00
Quote Anchor link
Waarom in aparte klasse?
Daar zie ik het nut namelijk niet echt van in =)
 
Robert Deiman

Robert Deiman

06/02/2008 11:32:00
Quote Anchor link
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.
 
Vincent

Vincent

06/02/2008 11:34:00
Quote Anchor link
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 denk dat je mijne beetje wrong hebt gezien want het is 1 klasse :P
 
Thijs X

Thijs X

06/02/2008 12:02:00
Quote Anchor link
@ Robert,
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
 
Vincent

Vincent

06/02/2008 12:09:00
Quote Anchor link
Dus je krijgt 2 classes,
- Bekijken
en
- Reactie
Die hoeven elkaar toch niet te extenden?
 

Pagina: « vorige 1 2 3 4 5 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.