27. december 2006 - 15:16
Der er
1 kommentar og
1 løsning
Objekt eksempel?
Er der nogle som kan give simpelt eksempel på hvad man bruger et objekt til og hvordan det præcis anvendes i PHP... Jeg er forsøger at forstå det, vha. en del guides og artikler..
27. december 2006 - 15:47
#1
PHP er ikke det ideele sprog til at forstå konceptet med objektorienteret design, da det i virkeligheden ikke er et objektorienteret sprog, men en slags sær blanding... Når det er sagt, kan jeg sige om objekter
- Et "objekt" i dit program skal tænkes som et objekt i virkeligheden. F.eks. hvis du lavede et program til at holde styr på dine DVD'er og CD'er, ville du måske lave en "klasse" der hed DVD, og en klasse der hed CD. Herefter ville du kunne lave DVD-objekter og CD-objekter af disse klasser.
- Et objekt indeholder sin egen data, og sin egen funktionalitet. Dvs. i vi i DVD-klassen både gemmer f.eks. titlen på DVD'en (altså data), men også definerer nogle funktioner til at gøre ting med denne DVD (funktioner kaldes metoder når man snakker objektorienteret). Et eksempel på en metode kunne være udskrivDvd().
Her er en stump kode der illustrerer dette DVD-eksempel:
<?php
class DVD {
public $titel;
public $udgivelsesÅr;
function udskrivDvd() {
echo "<p>".$this->titel." blev udgivet i ".$this->udgivelsesÅr."</p>";
}
}
$minFørsteDvd = new DVD();
$minFørsteDvd->titel = "Ringenes Herre 1";
$minFørsteDvd->udgivelsesÅr= 2004;
$minFørsteDvd->udskrivDvd();
$minAndenDvd = new DVD();
$minAndenDvd->titel = "Hackers";
$minAndenDvd->udgivelsesÅr= 1994;
$minAndenDvd->udskrivDvd();
?>
(normalt ville man iøvrigt ikke ændre direkte i sine felter ($titel og $udgivelsesÅr) som jeg gjorde ovenfor, med f.eks. linjen $minFørsteDvd->titel = "Ringenes Herre 1";, men at forstå hvorfor man normalt ikke gør dette, kræver en lidt større introduktion til OO).
Objekt orienteret programmering er et stort felt, og denne introduktion til det er næsten ikke fair. Personligt synes jeg ikke det er værd at rode for meget med OO i PHP. Hvis man virkeligt vil noget med OO, bør man lære Java, der nemlig fokuserer på OO lige fra starten. Men det vil der være folk der er uenige i.
Prøv at google efter
object oriented programming
sådan generelt, og du finder helt sikkert nogle gode introduktioner til tankegangen.
Good luck :-)