rogramowanie obiektowe jest możliwe również w PHP (mimo, iż jest to język interpretowany). Nie jestem przekonany, czy będziesz tego używał, jednak jeśli jesteś przyzwyczajony, to PHP Ci na to pozwala.
gólna składania deklaracji klas jest następująca:
class Nazwa_klasy
{
[var deklaracja zmiennej]
[deklaracja funkcji]
}
ak więc widzimy tutaj deklaracja zmiennych jest obowiązkowa (i wynika istoty obiektu... trzeba wiedzieć, z czego dokładnie się on składa). Nazwy zmiennych (właściwości) są dowolne, natomiast nazwy metod nie do końca. Kiedy nazwa metody jest taka sama, jak nazwa klasy, metoda ta staje się automatycznie konstruktorem danego obiektu (i jest wykonywana zaraz, po jego utworzeniu). PHP nie posiada destruktorów (sam troszczy się o "posprzątanie").
ając zdefiniowaną klasę, do tworzenia obiektów używamy polecenia new. Dostęp do poszczególnych elementów obiektu mamy dzięki operatorowi ->. Wszystkie klasy posiadają wewnętrzną zmienną this, która wskazuje na dany obiekt. Odwołując się do właściwości obiektu, ich nazwy nie poprzedamy już znakiem dolara.
to przykład, który demonstruje używanie obiektów w naszych skryptach:
<html>
<head>
<title>Obiekty</title>
</head>
<body>
<?
class samochod
{
// wlasciwosci
var $predkosc;
var $kolor;
var $radio;
// metody
// konstruktor
function samochod()
{
$this->predkosc=0;
$this->kolor="CZERWONY";
$this->radio=FALSE;
}
// inne metody
function Wlacz_radio()
{
$this->radio=TRUE;
}
function Wylacz_radio()
{
$this->radio=FALSE;
}
}
// tworzymy obiekt
$Syrenka=new samochod;
echo "Kolor naszego samochodu: ".$Syrenka->kolor."<br>";
echo "Stan radia: ";
if ($Syrenka->radio) echo "Wlaczone<br>"; else echo "Wylaczone<br>";
$Syrenka->Wlacz_radio();
echo "Stan radia: ";
if ($Syrenka->radio) echo "Wlaczone<br>"; else echo "Wylaczone<br>";
?>
</body>
</html>
Zobacz
|