Jim, waar de hel zie jij staan dat ik zeg dat alles public moet zijn? Als het aan mij lag zou je members alleen maar protected kunnen maken.
Echt, wat probeer je mij nou wijs te maken, ik denk dat ik "iets" meer ervaring met programmeren heb dan jij.
RichardvV schreef op 28.01.2010 09:42
[quote='Jim schreef op 28.01.2010 09:40'][quote='wesley schreef op 28.01.2010 09:30']Maar ik las juist ergens: Private is evil.
Ik denk dat je nog veel te leren hebt.
Ik zeg dat private evil is, protected is veel beter.[/quote]
1) Ik zeg NIET dat je alles public moet maken!
2) Ik zeg WEL dat private enorm nuttig is!
3) Wil jij dan verklaren waarom Private Evil is en Protected veel beter?
overigens :
RichardvV schreef op 28.01.2010 10:16
Echt, wat probeer je mij nou wijs te maken, ik denk dat ik "iets" meer ervaring met programmeren heb dan jij.
[quote='RichardvV schreef op 28.01.2010 10:16']Jim, waar de hel zie jij staan dat ik zeg dat alles public moet zijn? Als het aan mij lag zou je members alleen maar protected kunnen maken.
Echt, wat probeer je mij nou wijs te maken, ik denk dat ik "iets" meer ervaring met programmeren heb dan jij.
1) Ik zeg NIET dat je alles public moet maken!
2) Ik zeg WEL dat private enorm nuttig is![/quote]
Ik zeg dat precies hetzelfde, behalve dan private => protected.
en :
RichardvV schreef op 28.01.2010 10:16
Echt, wat probeer je mij nou wijs te maken, ik denk dat ik "iets" meer ervaring met programmeren heb dan jij.
Dus als ik het goed begrijp, moet ik variabelen die alleen IN de class gebruikt mogen worden, private maken. of protected? maakt niet uit welke? en public is voor beide. En global is goor, want dat pushed het alle scripts en functies in. toch?
Dus als ik het goed begrijp, moet ik variabelen die alleen IN de class gebruikt mogen worden, private maken. of protected? maakt niet uit welke? en public is voor beide. En global is goor, want dat pushed het alle scripts en functies in. toch?
Als die variabele alleen voor de betreffende klasse is, zou ik hem private maken. (ook al bestaan daar meningsverschillen over)
Als je met overerving gaat werken en je wilt dat het bovenliggende object de variabele rechtstreeks mag aanspreken en wijzigen, zou ik hem protected maken.
Een andere oplossing hiervoor kan ook zijn dat je de variabele private houd, en een public function maakt waarin je de variabele kan setten en getten.
Global pushed niet! maar het is wel overal beschikbaar.
Php is niet echt een OOP taal die daar nauwkeurig mee omgaat. Om te begrijpen hoe OOP werkt kan je misschien beter refereren naar JAVA omdat java volledig OOP is, en wel heel strak omgaat met public, private en protected.
Ligt er gewoon aan waarom je de functie wilt gebruiken.
Bot weg gezegt:
public -> In je script, dus waar je het object hebt aangmaakt
protected -> Als je denkt dat de class wordt ge-extend en je deze functie daar ook handig gaat zijn
private -> Als de functie enkel in class kan worden gebruikt
ah.... nou, het enige wat ik wil, is dat als ik een class maak, dat vars die in die class horen, daarin blijven. Want, waarom zou je meerdere classes maken? 1 is toch genoeg?
Is het zo moeilijk te bedenken? Overerving betekent dat een bepaalde klasse *overerft* van een andere. Het *is* dus ook die klasse. Geef mij eens een voorbeeld waarin een kindklasse zijn eigen waardes niet mag bewerken?
Ik heb geen idee wat je bedoeld...
Wel weer een vraag. als je vars wilt gebruiken in je class.. moet je dan alle vars die je gebruikt eerst aangeven bovenaan de class? of is dit niet nodig? of is dit niet nodig, maar wel de nette manier om iets te doen?