Microsoft Windows: A thirty-two bit extension and graphical shell to a sixteen-bit patch to an eight-bit operating system originally coded for a four-bit microprocessor which was written by a two-bit company that can't stand one bit of competition
Ik ben geen php'er, maar ik kan je wel een antwoord geven op je 2 laatste vragen:
- je kan geen objecten instantieren van abstracte classes; dwz dat je dus 'specifieke' classes moet gaan implementeren die dan kunnen gebruikt worden.
In die abstracte classes kan je dus bepaalde functionaliteit die voor iedere inherited class dezelfde moet zijn gaan opnemen, en kan je abstracte members kwijt. Die abstracte members moeten dan ook weer geimplementeerd worden door de inherited classes.
Het voordeel van abstracte classes is dat je, ahw, een soort 'contract' kunt definieren. Je kan dan bv in een functie-definitie dit kwijt:
Deze method neemt dus een argument van het type 'MyAbstractClass'. (Stell dus dat dit een abstracte class is. Aan die method kan je dus ieder type geven als argument dat afgeleid is van MyAbstractClass.
- Het final keyword zorgt er voor dat je de class die als final gedeclareerd is, niet meer kunt inheriten.
- je kan geen objecten instantieren van abstracte classes; dwz dat je dus 'specifieke' classes moet gaan implementeren die dan kunnen gebruikt worden.
In die abstracte classes kan je dus bepaalde functionaliteit die voor iedere inherited class dezelfde moet zijn gaan opnemen, en kan je abstracte members kwijt. Die abstracte members moeten dan ook weer geimplementeerd worden door de inherited classes.
Het voordeel van abstracte classes is dat je, ahw, een soort 'contract' kunt definieren. Je kan dan bv in een functie-definitie dit kwijt:
code:
1
| public void DoSomething( MyAbstractClass bliep ) |
Deze method neemt dus een argument van het type 'MyAbstractClass'. (Stell dus dat dit een abstracte class is. Aan die method kan je dus ieder type geven als argument dat afgeleid is van MyAbstractClass.
- Het final keyword zorgt er voor dat je de class die als final gedeclareerd is, niet meer kunt inheriten.
https://fgheysels.github.io/
$this is een reference naar de instantie "waarin" je zit. self is een static verwijzing naar de class "waarin" je zit.Tombo_inc:
1) wat is het verschil tussen '$this' en 'self' ?
Heeft te maken met bovenstaande. :: is een static verwijzing; je kunt dus alleen maar naar die dingen verwijzen die in een statische vorm ook betekenis hebben. statisch betekent: Dit geldt voor de class en niet (alleen) specifiek voor een instantie van deze class (object). De :: gebruik je dus in principe alleen bij statische (via de class) benadering van de dingen: MyClass::someStaticStuff () en -> gebruik je bij instanties van de classen ( $this->someMethod () en $obj->someMethod() ).2) gebruik je als je verwijst naar een functie in de class zelf altijd de '::' of kan de '->' ook?
Dit kun je makkelijk uitproberen.3) is de constructor standaard public of heeft hij een andere visibility?
zie whoami4) 5)
edit:
Staat trouwens allemaal in de manual:http://nl2.php.net/manual/en/language.oop5.php
[ Voor 10% gewijzigd door drm op 16-02-2005 16:18 ]
Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz
1, 2)
$this:
The Basics Zie eerste voorbeeld.
$this is a reference to the calling object
Scope Resolution Operator (::)
Self (dit is in combinatie met static):
Two special keywords self and parent are used to access members or methods from inside the class definition.
3)
Visibility, zie Example 19-9. Method Declaration -> // Contructors must be public.
4) Abstracte klassen zie Object Abstraction
5) Final Keyword
Final:
which prevents child classes from overriding a method by prefixing the definition with final. If the class itself is being defined final then it cannot be extended.
Wat jij moet doen is jezelf verdiepen in de wereld die OOP heet. Koop een (beginners) boek, lees tutorials, want deze dingen die jij vraagt zijn basis OOP dingetjes.
$this:
The Basics Zie eerste voorbeeld.
$this is a reference to the calling object
Scope Resolution Operator (::)
Self (dit is in combinatie met static):
Two special keywords self and parent are used to access members or methods from inside the class definition.
3)
Visibility, zie Example 19-9. Method Declaration -> // Contructors must be public.
4) Abstracte klassen zie Object Abstraction
5) Final Keyword
Final:
which prevents child classes from overriding a method by prefixing the definition with final. If the class itself is being defined final then it cannot be extended.
Wat jij moet doen is jezelf verdiepen in de wereld die OOP heet. Koop een (beginners) boek, lees tutorials, want deze dingen die jij vraagt zijn basis OOP dingetjes.
Wellicht een interessant/leerzaam artikel voor je:
http://www.sitepoint.com/article/coming-soon-webserver-near
http://www.sitepoint.com/article/coming-soon-webserver-near
ok ik ben al een stuk wijzer :d
bedankt allemaal
bedankt allemaal
Microsoft Windows: A thirty-two bit extension and graphical shell to a sixteen-bit patch to an eight-bit operating system originally coded for a four-bit microprocessor which was written by a two-bit company that can't stand one bit of competition
Pagina: 1