5.1. Klasa (class)
Klasa
je skup varijabli i funkcija koje radi s tim varijablama.
Klasa se definira koristeći sljedeću sintaksu:
Primjer:
NAPOMENA:
varijable unutar istog objekta se dohvaćaju sa
$this->imeVarijable
Gornji primjer definira klasu Kosarica koja se
sastoji od polja artikala u košarici i metoda
za dodavanje i brisanje artikala iz košarice...
Klase
su tipovi, odnosno, one su predložak za stvarne
varijable. Da bi kreirali varijablu tipa neke
klase, potrebno je koristiti operator new.
Primjer:
$moja_kosara = new Kosarica;
$moja_kosara->dodaj_artikl("200342",5)
Gornjim
primjerom smo kreirali objekt moja_kosara klase
Kosarica, a potom smo u objekt moja_kosara dodali
5 artikala sifre 200342.
Klase također mogu biti proširena verzija osnovne
klase... To znači, da nova klasa ima sve varijable
i funkcije kao i osnovna klasa, ali ima i dodatne
funkcije i varijable koje osnovna klasa nema.
Ovo se radi uz pomoć ključne riječi extends.
Primjer:
<html>
<head>
<title>Primjer ugradenog koda</title>
</head>
<body>
<?php
class Kosarica_s_imenom extends Kosarica
{
var $vlasnik;
function postavi_vlasnika($ime) {
$this->vlasnik=$ime;
}
}
?>
</body>
</html>
|
|
Dakle,
gornja klasa ima sve metode i varijable klase
Kosarica, ali uvodi i novu vlastitu varijablu
$vlasnik i novu vlastitu metodu postavi_vlasnika.
Primjer:
$imenovana_kosarica =
new Kosarica_s_imenom;
$imenovana_kosarica->postavi_vlasnika("Djoni
Bravo");
echo $imenovana_kosarica->vlasnik;
$imenovana_kosarica->dodajArtikl("200320",23);
Ne postoji mogućnost visestrukog
nasljeđivanja u PHP-u, a to znači da proširena
klasa može naslijediti svojstva i metode samo
jedne osnovne klase !
|