[PHP] OOP!

Pagina: 1
Acties:
  • 151 views sinds 30-01-2008
  • Reageer

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hoi,

even klein vraagje dat me te binnen schoot....

ik vroeg me af is OOP in PHP hetzelfde als in bijv. Delphi of Actionscript... OOP is toch OOP, alleen php gebruikt bijvoorbeeld als Inheritance class deze_class extends normal_class, is dit overal zo, als je in php OOP kunt proggen kun je dat dan ook in bijv dephi of zit het anders in mekaar ?

De structuur is hetzelfde dat weet ik maar kan je in iedere taal die OOP is hetzelfde op de OOP wijze ?

dank u

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Waar ik eigenlijk op uit ben is het feit dat ik hier in een artiekel lees dat als je met PHP OOP wil scripten dat de constructor al dezelfde naam heeft als de class zelf maar ik heb dit nergens gelezen in mijn Delphi en AS boeken !

modbreak: je kan ook de edit-knop gebruiken als je nog wat bent vergeten toe te voegen in je vorige post

[ Voor 23% gewijzigd door whoami op 17-03-2004 14:29 ]


Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Laatst online: 00:04
Nee. Ik geloof dat PHP geen polymorphisme enzo ondersteund.
Als een taal geen polymorphisme ondersteunt, dan kan je ze IMO geen OO taal noemen. Polymorphisme laat je nl. toe om een bepaalde abstraction level te gaan gebruiken.

Nouja, 't is ook zo gek niet: PHP is weak typed.
Verwijderd schreef op 17 maart 2004 @ 14:27:
Waar ik eigenlijk op uit ben is het feit dat ik hier in een artiekel lees dat als je met PHP OOP wil scripten dat de constructor al dezelfde naam heeft als de class zelf maar ik heb dit nergens gelezen in mijn Delphi en AS boeken !
Dat heeft niets met OO (de denkwijze dan) te maken. Dat is gewoon afhankelijk van de syntax van de taal.
In Delphi is een constructor zo gevormd:
code:
1
constructor Create();

oid, in C++, C# en PHP is het een method die de naam van de class heeft, en geen return type heeft:
code:
1
public MyClass() {}

[ Voor 99% gewijzigd door whoami op 17-03-2004 14:32 ]

https://fgheysels.github.io/


Acties:
  • 0 Henk 'm!

Verwijderd

OOP programmeren is iets wat je moet leren. Een bepaalde manier van denken. Als je je een beetje de OO denkwijze eigen hebt gemaakt, maakt de taal waarin je OO programmeert niet zoveel uit, alleen de syntax van die taal is dan hetgene dat je moet leren.

Acties:
  • 0 Henk 'm!

  • 0528973
  • Registratie: Juni 2003
  • Laatst online: 15-05-2013
@whoami, maar dat komt toch doordat PHP nog niet echt OOP is? PHP is voor alsnog niet compleet OOP... je kan wel classes ed maken en zaken overerven ed maar PHP is niet OOP.

Het feit dat je met PHP classes ed kan maken, maar nog niets private kan declareren maakt het gewoon nog niet geschikt om echt OOP mee te werken.

OOP heeft idd ook heel weinig met de syntax van een taal te maken :)

[ Voor 33% gewijzigd door 0528973 op 17-03-2004 14:36 ]

Pascal


Acties:
  • 0 Henk 'm!

Verwijderd

0528973 schreef op 17 maart 2004 @ 14:33:
@whoami, maar dat komt toch doordat PHP nog niet echt OOP is? PHP is voor alsnog niet compleet OOP... je kan wel classes ed maken en zaken overerven ed maar PHP is niet OOP. Het kunnen van iets, betekent toch niet niet dat het het is?
De 3 steunpilaren van OOP zijn:
- verbergen van de implementatie (data hiding)
- overerving
- polymorfie

Mist er 1, dan is het niet volledig OOP meer lijkt me (ff simpel geredeneerd)

Acties:
  • 0 Henk 'm!

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Kijk es hiernaar over o.a. de beperkingen van php en "vereisten" van een programmeertaal voor OO-zijn. Ik ben van mening dat je prima OB kan programmeren in php, maar compleet OO zal het niet zomaar worden. Die argumentatie had ik in dat topic al gegeven geloof ik :)

Dennis26: php heeft ze in principe alledrie ;)
Niet zo uitgebreid als C# en Java uiteraard.

[ Voor 33% gewijzigd door ACM op 17-03-2004 14:41 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
@Whoami, sorry, zal volgende keer adden!

Het probleem is dat ik echt al wel een tijd bezig ben te proberen het OOP onder de knie te krijgen, en net als ik denk dat ik in objecten kan denken en ik aan een project wil beginnen om mijn kennis te testen lukt het niet omdat ik bijgod niet weet waar ik moet beginnen, nu kun je zeggen "meer lezen" maar ik lees echt super veel, en de laatste tijd alleen maar dingen over OOP, en ik denk dat ik het snap maar ik kan het niet uitvoeren.

voorbeeld :

Ik wilde een email distributeur maken, object georienteerd dan, dus ik pak een pen en papier en begin te schrijven welke functies het programma nodig heeft.
1. email adres toevoegen
2. email adres verwijderen
3. email adres veranderen
4. email versturen naar email adres uit lijst (keuze uit multiple selection)
etc

Nu denk ik dat ik al deze "functies" in objecten moet gaan omzetten, maar je ziet al dat ik het woord functies gebruik, maar die staan toch in een class ? wat zijn binnen dit project de objecten dan ?

Acties:
  • 0 Henk 'm!

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Je bent daar use cases aan het opschrijven, nog geen functies ;)

Na de use cases ga je proberen de verschillende "dingen" in je verhaal aan de "bewerkingen" te kopplen en om te zetten in objecten met hun methoden.
Althans, dat is wat ik van het gemiddelde use-case-design-traject begrepen heb :)

[ Voor 65% gewijzigd door ACM op 17-03-2004 14:43 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
mijn wat, use cases ?

ik heb alleen gelezen over
- objecten
- classes
- functies

wat zijn use cases ?
godmejaar dit kan nog wel ff duren met mij en OOP 8)7

cases ken ik wel
if case =

maar use cases is dat weer wat anders daar heb ik edcht nog nooit van gehoord en dan heb ik al heel wat scripts geschreven hoor, is dat echt puur een ding van OOP ?

[ Voor 40% gewijzigd door Verwijderd op 17-03-2004 14:48 ]


Acties:
  • 0 Henk 'm!

  • 0528973
  • Registratie: Juni 2003
  • Laatst online: 15-05-2013
use cases komen voor bij UML... het is in principe niets meer dan opschrijven wie wat in je uiteindelijke applicatie moet kunnen.

Als je dit gedaan hebt kun je gaan kijken welke 'use cases' bij elkaar passen en er grofweg gezegd een object van maken :) en al je objecten samen gaan dan uiteindelijk je eindapplicatie worden....

(Dit is het heel erg grof en snel gezegd :))

Pascal


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
whaa intressant man, heeft iemand hier resource over, heb net een search gedaan op use cases maar kom alleen dingen over UML tegen, en ben daar nog niet eens bekend mee..... alleen dat ik weet dat het een model is, maar wat een model precies moet zijn.... ik weet het niet.

zijn hier standaarden voor, of regels binnen de programmeerwereld.
Dit gaat natuurlijk wat verder maar volgens mij moet je dat UML eerst doorkrijgen voordat je uberhaupt OOP kan gaan toepassen op je applicaties !

"Unified Modeling Language"....... ow nou weet ik het :O

[ Voor 6% gewijzigd door Verwijderd op 17-03-2004 14:59 ]


Acties:
  • 0 Henk 'm!

  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 28-02 22:17
Volgens mij snap je het verschil tussen object en class nog niet helemaal..

Een class is een beschrijving in de code van hoe een object uit moet komen te zien. Een object is een instantiatie van die class.

In PHP:
PHP:
1
2
3
4
5
6
7
8
9
10
11
class Blaat {

  var $zooi;

  function Blaat ($iets)
  {
    $this->zooi = $iets;
  }
}

$test = new Blaat("blablabla");

Blaat is dan de class, en $test is dan het object, de instantiatie van die class.


[edit]
Stel je nu voor dat een machine 2 verschillende mailservers heeft, waarvan je maildistributeur gebruik maakt. (Zal niet vaak voorkomen in de praktijk, maar tis maar een voorbeeld.) Als je nu dus allebei die mailservers wilt aanspreken vanuit je distributie programma, dan zijn classes/objecten daar heel handig voor.
Zo kun je bijvoorbeeld de twee mailservers instantieren.

PHP:
1
2
$sendmail = new Blaat("/path/to/sendmail");
$ietsanders = new Blaat("/path/to/ietsanders");

Ze werken beiden hetzelfde, dus hoef je geen extra code te kloppen. EN ben je klaar als je 2 objecten instantieert.

- Hoop dat dit het wat duidelijker maakt.

[ Voor 44% gewijzigd door Grijze Vos op 17-03-2004 15:05 ]

Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info


Acties:
  • 0 Henk 'm!

Verwijderd

Verwijderd schreef op 17 maart 2004 @ 14:56:Dit gaat natuurlijk wat verder maar volgens mij moet je dat UML eerst doorkrijgen voordat je uberhaupt OOP kan gaan toepassen op je applicaties !
Met een stukkie papier en een pen kun je ook een opzet maken voor je applicatie :)

Acties:
  • 0 Henk 'm!

  • 0528973
  • Registratie: Juni 2003
  • Laatst online: 15-05-2013
Nee dat is neit waar, UML is een techniek om een applicatie op papier bijv. mee te modelleren zodat je weet welke objecten/classes ed er nodig zijn in je applicatie.

Je kan allang begonnen zijn met OOP voordat je met UML begint...
Je wilt php gebruiken om OOP mee te leren programmeren?

Pascal


Acties:
  • 0 Henk 'm!

  • PhoeniX-
  • Registratie: Juni 2000
  • Laatst online: 01-09 10:26
Je hebt dus alleen nog maar over de implementatie gelezen :)

Een use case is in principe een 'scenario', een beschrijving van een uit te voeren taak. Op deze manier kan je alle gebeurtenissen in kaart brengen die binnen je systeem plaats vinden.

Hierna kan je aan de hand van een klassediagram al je klasses en verbanden ertussen in kaart brengen.
UML is een modelleringstechniek, die oa. zo'n klassediagram beschrijft, maar ook andere diagrammen die handig kunnen zijn in de ontwerpfase.

Zie http://www.omg.com/ en http://www.uml.org/ .

Ik denk niet dat je UML eerst door moet hebben om OOP te kunnen programmeren, het is tenslotte een hulpmiddel om alles te modelleren. Bij kleine/simpele projecten is uml waarschijnlijk overbodig.

Misschien is 't in jouw geval nuttig om gewoon eens wat te gaan _doen_ .. van lezen, lezen en lezen wordt je op den duur niets meer wijzer als je 't niet in praktijk brengt.
Persoonlijk ben ik 't nut van dergelijke uml technieken/methoden pas gaan inzien na een dingen ontwikkeld te hebben.

Ik vind persoonlijk de uitleg @ http://nl.php.net/oop bestwel duidelijk eerlijk gezegd, misschien dat je dat als startpunt kunt gebruiken voor wat proggelen.
Verwijderd schreef op 17 maart 2004 @ 14:42:
Ik wilde een email distributeur maken, object georienteerd dan, dus ik pak een pen en papier en begin te schrijven welke functies het programma nodig heeft.
1. email adres toevoegen
2. email adres verwijderen
3. email adres veranderen
4. email versturen naar email adres uit lijst (keuze uit multiple selection)
etc

Nu denk ik dat ik al deze "functies" in objecten moet gaan omzetten, maar je ziet al dat ik het woord functies gebruik, maar die staan toch in een class ? wat zijn binnen dit project de objecten dan ?
Dit zouden gewoon functies moeten worden in je class denk ik. Een object is een instantie van een class, die de functies van de class dus ook bevat.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Maar ik kan toch gewoon op papier zetten wat mijn classes, objecten en functies zijn , dat is dan toch ook UML eigenlijk ?

ik zit even te kijken op de OMG UML pagina, maar wat ik daar lees geld echt puur voor hele grote projecten zodat iedereen die eraan meewerkt het project al in een gestructueerd beeld voor zich heeft en mensen geen fouten maken...... toch.

maar dat is iets wat niet voor mij bestemd is, ik werk alleen, dus pen en papier zouden kunnen voldoen.

Ik zou als volgt redeneren bij mijn email voorbeeld.

alle keuzes in het begin menu zijn dan eigenlijk instances van de hoofdclass alleen met andere functies, dus extensions, inheritance, want die keuzen hebben allemaal iets te maken met de email class, alleen de ene use case gebruikt andere functies binnen die class dan het andere.....

is dit in de goede richting of zeggen jullie van "jongen ga nog een boek lezen :D"

deze post maakte ik voordat ik die van phoenix gelezen had :D

[ Voor 4% gewijzigd door Verwijderd op 17-03-2004 15:11 ]


Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Laatst online: 00:04
ACM schreef op 17 maart 2004 @ 14:38:
Dennis26: php heeft ze in principe alledrie ;)
Niet zo uitgebreid als C# en Java uiteraard.
Hmmm, datahiding en abstraction missen in PHP toch een sterk aspect denk ik:
data hiding / abstraction van classes: bv. een reference bijhouden in een bepaalde class naar een abstracte class of interface, die dan eigenlijk naar een concrete subclass verwijst, waardoor polymorphisme mooi kan toegepast worden.

https://fgheysels.github.io/


Acties:
  • 0 Henk 'm!

  • zwippie
  • Registratie: Mei 2003
  • Niet online

zwippie

Electrons at work

Ook zonder UML kun je een (eenvoudig) OO programma maken. Wil je iets complexers maken of met meerdere mensen er aan moeten programmeren, of moet de onderhoudbaarheid/uitbreidbaarheid etc maximaal zijn, dan is UML een uitkomst.

Gewoon OOP blijven proberen dus. :) Door eerst pen en papier te pakken en je 'idee' om te zetten naar klasses en methodes denk ik dat je wel op de goede weg zit. Daar heb je geen UML bij nodig, een goede OO ontwerp aanpak is voldoende.

Om ook OOP in php te gebruiken is natuurlijk weer een ander verhaal.. :P

(pre-edit: oef, mn reactie is al weer overbodig...)

How much can you compute with the "ultimate laptop" with 1 kg of mass and 1 liter of volume? Answer: not more than 10^51 operations per second on not more than 10^32 bits.


Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Laatst online: 00:04
Er zijn verschillende 'vastgelegde procedures' waarmee je aan OO analyse kunt doen.

Een ervan is nagaan welke zelfstandige naamwoorden je in je analyse tegenkomt, en daar kan je dan classes van maken. De 'werkwoorden' kunnen als methods ondergebracht worden bij de juiste classes.
simpel gezegd

Daarnaast kan je een object ook gaan bekijken als 'een stuk data met eigen verantwoordelijkheden, en dat weet welke z'n verantwoordelijkheden zijn'.

https://fgheysels.github.io/


Acties:
  • 0 Henk 'm!

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

whoami schreef op 17 maart 2004 @ 15:09:
Hmmm, datahiding en abstraction missen in PHP toch een sterk aspect denk ik:
data hiding / abstraction van classes: bv. een reference bijhouden in een bepaalde class naar een abstracte class of interface, die dan eigenlijk naar een concrete subclass verwijst, waardoor polymorphisme mooi kan toegepast worden.
Ben ik met je eens hoor. Maar net doen alsof het helemaal niet kan is ook weer onzin.

Of het een goede taal is om OOP mee te leren durf ik niet te zeggen, de syntax is eenvoudig te leren, maar het feit dat de opzet OB (object based dus niet "all the way OO") is, maakt het nogal uitnodigend om af en toe toch maar non-OO constructies in te zetten :)

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
okay nou ik ga even dat artiekel op PHP.net maar weer eens lezen die had ik hier al liggen en gelezen maar ik denk dat ik het nog maar eens moet lezen want ik pak pen en papier en begin met het neerschrijven van die keuzes he.....

okay dan bind ik een functie aan iedere keuze.....

dus :

keuze 1 = maak nieuw email adres
keuze 2 = delete email adres
keuze 3 = verzend email naar email adres.

Dit betekent dat je dit "kan" gaan doen op het moment dat je op die keuze klikt.

dus keuze 1 heeft een aantal functies
- laat mogelijk op scherm zien om aan te maken
- lees data uit database
- geef een allert("wilt u de email echt verwijderen")
- verwijder email uit database

kan ik dit zo op papier schrijven als ik nu namelijk al mijn keuzes uitwerk en ga kijken welke dingen met elkaar overeen komen weet ik welke functies toch in welke classes moeten komen ?

$keuze = new keuze;
$keuze->functie("delete");

of zit ik nu echt uit mijn nek te zwetsen ?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
whoami schreef op 17 maart 2004 @ 15:15:
Er zijn verschillende 'vastgelegde procedures' waarmee je aan OO analyse kunt doen.

Een ervan is nagaan welke zelfstandige naamwoorden je in je analyse tegenkomt, en daar kan je dan classes van maken. De 'werkwoorden' kunnen als methods ondergebracht worden bij de juiste classes.
simpel gezegd

Daarnaast kan je een object ook gaan bekijken als 'een stuk data met eigen verantwoordelijkheden, en dat weet welke z'n verantwoordelijkheden zijn'.
Jah en dat leren ze je niet in die boeken, das verd*mt handig, wat zijn zelfstandig naamwoorden _/-\o_ })

Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Laatst online: 00:04
Je zit idd uit je nek te zwetsen.

Je zou een class 'EmailAdress' moeten maken, die de methods 'Delete', 'Select', 'Update', 'Insert' oid zou moeten hebben.

https://fgheysels.github.io/


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Verwijderd schreef op 17 maart 2004 @ 15:25:
[...]


Jah en dat leren ze je niet in die boeken, das verd*mt handig, wat zijn zelfstandig naamwoorden _/-\o_ })
weet je ook of die er meer van die procedures op het internet staan ?

Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Laatst online: 00:04
Wat een zelfstandig naamwoord is ? Dat is basiskennis NL hoor beste jongen. ;). Alles waar je een lidwoord voor kunt zetten is een zelfst. nw.

Bv:
Je hebt deze 'analyse'. Een boer heeft verschillende dieren, waaronder varkens, koeien, kippen.

Boer, Dieren, Varkens, Koeien en Kippen zijn zelfst. naamwoorden. Daar kan je dus classes van maken.
Je maakt een class 'Boer', die een collectie bijhoudt van 'Dieren'. Dieren kan je als een abstracte class zien, en Koeien, Kippen en varkens zijn afgeleide classes van dieren.

https://fgheysels.github.io/


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
goed ik heb jullie al te lang opgehouden, echt super bedankt voor alle informatie, ik ga het gewoon blijven proberen tot ik het wel door heb..... het is echt een hele apparte werkwijze, en ik maar denken, ooow dat heb ik in een paar weken wel door.....

nogmaals ...... mijn dank voor de informatie gasten..... en damees als die erbij waren ...

trouwens was lekker weer vandaag he !!

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
ja.. lekker is dat waarom maken ze die knopjes ook zo klein!

modbreak:
Hou het aub ontopic. Het is hier een forum, geen chatbox

[ Voor 138% gewijzigd door whoami op 17-03-2004 15:35 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
whoami schreef op 17 maart 2004 @ 15:28:
Wat een zelfstandig naamwoord is ? Dat is basiskennis NL hoor beste jongen. ;). Alles waar je een lidwoord voor kunt zetten is een zelfst. nw.

Bv:
Je hebt deze 'analyse'. Een boer heeft verschillende dieren, waaronder varkens, koeien, kippen.

Boer, Dieren, Varkens, Koeien en Kippen zijn zelfst. naamwoorden. Daar kan je dus classes van maken.
Je maakt een class 'Boer', die een collectie bijhoudt van 'Dieren'. Dieren kan je als een abstracte class zien, en Koeien, Kippen en varkens zijn afgeleide classes van dieren.
dit wou ik doen...

HAHAHAHA,..... dat leer je toch op de basisschool .... hoe ken je dat nu niet weten, maar mag af en toe toch wel ff lekker f*ck*n met je uitspraken ....

Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Laatst online: 00:04

modbreak:
Ik had je net toch op het bestaan van die edit-knop gewezen, en je had gezegd dat je er gebruik ging van maken?

https://fgheysels.github.io/


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
jah sorry het kwaad was al geschied!

kijk ik weet wel hoe het moet dat is het niet maar ik wil af en toe te snel en dan druk ik gewoon verkeerde knopje.... :7

[ Voor 64% gewijzigd door Verwijderd op 17-03-2004 15:38 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Ik heb thuis een boek over Object georienteerd programmeren in het algemeen. De onderliggende taal die gebruikt wordt voor voorbeelden is Java, maar dat maakt voor begijpen van de OOP niet zoveel uit als je een andere taal prefereert. Als je wilt, kan ik je het ISBN nummer wel geven als ik straks thuis ben. Ik vond dat boek erg verhelderend om een goed idee te krijgen wat OOP nu is en hoe je ermee moet werken :)

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Verwijderd schreef op 17 maart 2004 @ 15:38:
Ik heb thuis een boek over Object georienteerd programmeren in het algemeen. De onderliggende taal die gebruikt wordt voor voorbeelden is Java, maar dat maakt voor begijpen van de OOP niet zoveel uit als je een andere taal prefereert. Als je wilt, kan ik je het ISBN nummer wel geven als ik straks thuis ben. Ik vond dat boek erg verhelderend om een goed idee te krijgen wat OOP nu is en hoe je ermee moet werken :)
dat zou echt super relekst zijn..... kun je die sturen naar mijn hotmail ?

weg, ook voor je eigen bestwil. Dit is trouwens een forum, dus alles kan best langs deze weg gecorrespondeerd worden.

dank je ......

[ Voor 11% gewijzigd door whoami op 17-03-2004 19:10 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Ja idd, niet erg handig om overal je mailadres achter te laten, dus hoop dat je dit nog gaat lezen :)

Titel: Objectgeoriënteerd programmeren in 21 dagen
Taal: Nederlands
ISBN: 90-430-0543-6
Prijs: Geloof iets van 55 euro

Wat wordt er behandeld?
- De 3 steunpilaren van OOP: insluiting, overerving en polymorfie
- Leren OOP toe te passen: UML, objectgeoriënteerde analyse/ontwerpen
- Geavanceerde ontwerppatronen
- Het bouwen van een OO-project: Het spel blackjack
- MVC (model/view/controller)

Mijn mening is dat dit boek geschikt is om je eerste stap te zetten in de wereld van het object georiënteerd programmeren.

Succes ermee :)

Acties:
  • 0 Henk 'm!

  • zwippie
  • Registratie: Mei 2003
  • Niet online

zwippie

Electrons at work

En met bezoekje aan de plaatselijke bibliotheek kun je je die 55 euro ook nog eens besparen :) (Hier hebben ze em tenminste)

How much can you compute with the "ultimate laptop" with 1 kg of mass and 1 liter of volume? Answer: not more than 10^51 operations per second on not more than 10^32 bits.


Acties:
  • 0 Henk 'm!

Verwijderd

Je kunt vervolgens de method poepen overerven van de class Dier, alleen bij een hond zul je een uitzondering moeten maken omdat die zijn poot optilt.

*vaag voorbeeld*

[ Voor 7% gewijzigd door Verwijderd op 17-03-2004 23:11 ]


Acties:
  • 0 Henk 'm!

  • Zym0tiC
  • Registratie: Februari 2001
  • Laatst online: 07:08

Zym0tiC

^_^

Leuk topic. Sinds begin deze week ben ik ook begonnen met het gebruik van oop in php.
Wat bij mij erg heeft geholpen is een bestaand project dat niet oop is om te zetten naar oop.

Het voordeel is dat je al weet waar je naar toe moet werken en veel dingen hoef je niet meer opnieuw uit te vinden. Je kunt je dan volledig richten op de manier van programmeren.
Niet dat het gelijk makkelijk is in het begin...maar het is wel 'makkelijker dan'.

There is no such thing as innocence, only degrees of guilt | Flickr!


Acties:
  • 0 Henk 'm!

  • Ganja-Cape
  • Registratie: Maart 2001
  • Laatst online: 20-09 09:41
misschien een extra trucje voor php 'OOP', normaal kan je met php maar een parent class hebben.
PHP:
1
2
3
4
5
6
7
8
// een extend parent 'parent_class'
Class moo extends parent_class {}

// extra extends kan niet
Class moo extends parent_class,parent2_class {}

// dus je kan alleen maar dit:
$this->parent->foo();


Nieuwe classes maken in een bestaande class werkt niet
PHP:
1
2
3
4
5
6
Class moo extends parent_class {
  function moo() {
    // dit gaat niet
    $this->parent2 = new class;
  }
}


Maar als je nou een class aanmaakt met het volgende:
PHP:
1
2
3
4
5
Class class_extend_parents {
  function get_class($class_naam) {
    return new $class_naam();
  }
}


en die gebruikt als extend parent, dan kan je daarmee extra parent classes aanmaken :)
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
Class moo extends class_extend_parents {
  function moo() {
     // extra parent aanmaken met de extend parent
    $this->parent2 = $this->class_extend_parents->get_class('parent2');

    //tada... etc
    $this->parent2->parent2->get_moo();
  }
}

// vb.
$obj->parent1->parent2->get_foo();


Hopelijk kan je wat vatten van m'n snelle voorbeeldje. :D
Pagina: 1