Klase predstavljaju opลกtu kategoriju u objektno-orijentisanom programiranju, koja opisuje grupu posebnih elemenata koji se nazivaju objekti i nalaze se unutar grupe. Klasa je opisni element, i u programiranju sluลพi za definisanje skupa atributa ili skupa akcija (funkcija) koje su dostupne drugim delovima programa, a karakteristiฤne su za sve ฤlanove jedne klase. Definisanje klasa u objektno-orijentisanom programiranju je vrlo sliฤno definisanju tipova podataka u strukturnom programiranju.
U PHP-u jedna klasa je, najjednostavnije reฤeno, kolekcija varijabli i funkcija koje manipuliลกu ovim varijablama. U sledeฤim redovima videฤemo naฤin definisanja jedne klase:
<?php
class Racun {
var $stavke;
// Stavke koje se kupuju// Dodavanje odredj. br $kom artikala na racun br. $ser_br
function dodaj_stavku ($ser_br, $kom) {
$this->stavke[$ser_br] += $kom;
}// Skidanje odredj. br $kom artikala sa racuna br. $ser_br
function ukloni_stavku ($ser_br, $kom) {
if ($this->stavke[$ser_br] > $kom) {
$this->stavke[$ser_br] -= $kom;
return true;
} else {
return false;
}
}
}
?>
Kao ลกto moลพete videti, definisali smo klasu „Racun“ (kupovni raฤun) koja sadrลพi odreฤeni broj artikala – stavki (niz $stavke) i dve funkcije:
- dodaj_stavku() – funkcija za dodavanje odreฤeneog broja (kom) artikala (ser_br) na raฤun
- ukloni_stavku()– funkcija za skidanje, takoฤe, odreฤenog broja (korisnik ne mora poniลกtiti kupovinu svih) stavki sa raฤuna.
Poลกto smo rekli da su klase kao tipovi podataka, da bi ih upotrebili u programiranju, potrebno je da deklariลกemo varijable na osnovu klase:
$racun = new Racun;
$racun->dodaj_stavku(„10“, 1);
Ovaj kod ฤe kreirati objekat $racun koji pripada klasi Racun. Zatim smo funkcijom „dodaj_stavku()“, na raฤun dodali 1 komad artikla sa serijskim brojem 10.
Klase inaฤe mogu biti proลกirenja drugih klasa. Pri tome, proลกirena klasa ima sve varijable i funkcije osnovne klase (kroz tzv. nasleฤivanje) i moลพe da ima dodatne sopstvene varijable i funkcije. Da naglasimo i to da viลกestruko nasleฤivanje nije podrลพano. Evo primera proลกirivanja prethodno definisane klase Racun:
class Kupovni_Racun extends Racun {
var $kupac;function unos_kupca ($ime) {
$this->kupac = $ime;
}
}
Ovim smo definisali novu klasu – Kupovni_Racun, koja ima sve varijable i funkcije kao i klasa Racun, kao i dodatnu varijablu $kupac i funkciju unos_kupca().
Pratite Krstaricu na www.krstarica.com