Objektno programiranje spremeni celotno miselnost programiranja. Objekt bi lahko poimenovali kot ograjen skupek spremenljivk in funkcij, ki ga dobimo iz razreda.
Z definiranjem razredov v bistvu določimo skupek lastnosti, ki se lahko prepoznajo kot druge vrednosti. Ustvarimo lahko npr. razred avtomobil, ki vsebuje lastnost barva. Vsi objekti avtomobila imajo to lastnost, vendar lahko zavzamejo različne vrednosti, npr. "modra", "zelena" in tako naprej.
Razred je skupek funkcij (metod) in posebnih spremenljivk (lastnosti). Razredi so predloge, iz katerih ustvarimo objekt.
Največja prednost objektnega programiranja je uporabnost. Objekti so zaokrožene celote in jih brez težav vzamemo iz enega projekta in vstavimo v drugega.
Ustvarjanje objektov
Da ustvarimo objekt, moramo najprej definirati predlogo, ki se imenuje razred:
class prvi_razred{
}
Razred prvi_razred
je osnova, ki ji lahko določimo poljubno število objektov. Objekt razreda prvi_razred
ustvarimo na naslednji način:
$obj1 = new prvi_razred();
$obj2 = new prvi_razred();
S tem smo ustvarili objekta $obj1
in $obj2
, oba razreda prvi_razred()
. S funkcijo gettype()
se lahko prepričamo, da sta $obj1
in $obj2
res objekta:
echo $obj1 . " je " . gettype($obj1);
echo $obj2 . " je " . gettype($obj2);
Spremenljivke objektov
Objekti imajo dostop do vseh spremenljivk, definiranih znotraj razreda. Te spremenljivke običajno definiramo v zgornjem delu razreda in vsebujejo predpono var
. Vsak objekt, ki bo ustvarjen iz tega razreda, ima dostop do teh spremenljivk, lahko pa jih tudi spreminja. Operator ->
omogoča dostop in spreminjanje spremenljivke v objektu.
<?php
class prvi_razred{
var $ime = "Simon";
}
$obj1 = new prvi_razred();
$obj2 = new prvi_razred();
$obj1->ime = "Janez";
echo $obj1->ime . "<br>"; //izpiše Janez
echo $obj2->ime . "<br>"; //izpiše Simon
?>
Simon