Omkring klasser i PHP
|
For ord Hej. Jeg vil i dag fortælle om klasser. Som i nok ved, er klasser en del af programmeringsmåden OOP. OOP er en ny ”trend”, indenfor programmering. De fleste programmører har efterhånden vendt sig til måden. Og ja, jeg bruger det også selv. Obs.: Klasser er ikke OOP, kun en del af det. Her er et par punkter for, hvorfor du skal benytte OOP: - Det gør det lettere for dig at holde styr på data, ændre og slette ting i din klasse. - Det er let at udbygge sit script, ikke skrive det om, bare udbygge. Du kan herunder se hvilke punkter jeg vil gennemgå i denne artikel. 1. Klassens opbygning 1.1 Nøgleordene extends, final og parent 2. Variabler i klassen 2.1 De tre gyldne p’er 3. Funktioner i klassen 3.1 Nøgleordet final 4. Konstruktøren/Destruktøren 5. Parent, self 6. Et færdigt script 7. Slutning Obs. Eventuelle stavefejl skal du ikke tage dig af.. 1. Klassens opbygning For at starte en klasse, bruger vi nøgleordet class, efterfulgt at navnet på vores klasse. Her er et eksempel:
I det næste eksempel, vil jeg vise hvordan klassen egentlig er opbygget.
1.1 Nøgleordene extends, final og parent I dette afsnit, vil jeg prøve at forklare dig hvad nøgleordene extends og final gør. Extends Extends er det nøgleord du skal bruge, hvis du vil nedarve fra en anden klasse. Eksempel:
Når vi bruger extends, kan vi benytte variabler og funktioner fra den klasse vi nedarver fra. Dette kan gøre ved at enten bruger nøgleordet parent (mere senere) eller navnet på klassen, efterfulgt af to semikoloner ( :: ) også navnet på funktionen/variablen. Final Final har den funktion at gøre så klassen/funktionen/variablen ikke kan overskrives. Eksempel:
- Normalt ville php bare overskrive klassen/funktionen/variablen. 2. Variabler i klassen I en klasse, kan man definere hvilke variabler der kan benyttes i klassen. Eksempel:
Men.. 2.1 De tre gyldne p’er De tre gyldne p’er: Public Protected Private - Public: Alle kan tilgå variablen/funktionen. Som standard i PHP, er alle ting public. Men hvis du bare har skrevet:
- Protected: Klassen som variablen/funktionen er deklareret i, og klasser som nedarver fra den klasse, kan benytte variablen/funktionen. - Private: Kun klassen som variablen/funktionen er deklareret i, kan benytte variablen/funktionen. Info: Det er en god ting at bruge private, i funktioner/variabler, som du bruger i konstruktøren 3. Funktioner i klassen Som du nok ved, består en klasse af mange funktioner. Jeg vil ikke komme så meget ind på det, da du højst sandsynligvis ved hvad funktioner er. Men også her, findes de 3 gyldne p’er.
3.1 Nøgleordet final Det er blevet beskrevet før, så jeg citerer: Final har den funktion at gøre så klassen/funktionen/variablen ikke kan overskrives. Eksempel:
4. Konstruktøren/Destruktøren Konstruktøren er en funktion i klasser, som selv starter klassen. Fra PHP5+ behøves konstruktøren ikke at hedde det samme som klassen, men __construct - Konstruktøren og Destruktøren sættes altid i public. Eksempel:
Eksempel:
Jeg starter klassenJeg slutter klassen En smart ting at brugt __destruct() til er eksempelvis at bruge den til at lukke mysql (mysql_close()). Da den jo først bliver afviklet til sidst i klassen. 5. Parent, self Parent og self er nøgleord til at hente data fra klasser. Ligesom $this pointeren, det virker bare på en anden måde. - Parent: Er et nøgleord, du skal bruge når du henter fra en klasse du nedarver fra - Self: Er et nøgleord, du kan bruge når du henter fra klassen du befinder dig i. Obs.: Husk at sætte 2 semikoloner efter nøgleordene, ellers melder de fejl. Her er et eksempel med self:
6. Et færdigt script Her er et simpelt script i klasser. Det gør så vi kan sætte $saetning i vores klasse, også udskrive den.
Men leg lidt med det. 6. Slutning Her til slut vil jeg bare sige, at jeg håber i har nydt artiklen, og lært noget af den. Måske skriver jeg en anden en. Om abstrakte klasser, og instance. Men jeg mente ikke at det skulle med i denne omgang. Held og lykke med klasserne! Mikkel Olsen //out Sidst redigeret 16:23 - 22/10/2006 |
|
Kommentarer
Giv din mening tilkende om denne artikel, eller læs andres.Har du spørgsmål eller brug for hjælp til denne artikel henvises du til forummet.
| Den er okay :) |
Oprettet af:
|
|
Fin artikel for begyndere, i guess. syntes dog ikke du burde lave så mange eksempler hvor du udskriver tekst i selve klassen. Bare min mening.. og du burde nok også forklare static functions til dem der ikke kender det. OOP is the way to go.. |
Oprettet af:
|
| God artikel. |
Oprettet af:
|
|
Rigtig god artikel, du beskriver alt rigtig godt, jeg har virkelig lært noget. 5/5! :D |
Oprettet af:
|
| Jeg synes ikke artiklen forklare nok, jeg har ikke lært særlig meget, men lidt lærer man vel d: |
Oprettet af:
|
Side af 2
