skanuj0118 (20)

skanuj0118 (20)



Rozdział 4. ♦ Tablice i obiekty 129

Rysunek 4.19.    I    J.L



skryptu z listingu 4.21


■ S1 1 S? I Li http://localhost/index.php


13


^ Rozpocznij przygód... ; J AWoainości


Nodce: Undefined variable: polel in E:\!\index.php on linę 13

Nodce: Undefined variable: pole2 in E:\i\index.php on linę 13 polel =, pole2 =

Jeśli nasza instalacja PHP ma włączoną opcję wyświetlania komunikatów, zobaczymy informację o niezdefiniowanych zmiennych polel i pole2. Instrukcja echo również nie spełnia swojego zadania nie wyświetlając wartości pól obiektu. Dzieje się tak dlatego, że występujące w instrukcji echo("polel = Spolel. pole2 - $pole2"): odwołania Spoi el i $pole2 zostały potraktowane jak odwołania do lokalnych zmiennych funkcji show o nazwach polel i pole2, a nie jak pola klasy klasal.

Aby wewnątrz klasy odwołać się do jej pól, trzeba użyć słowa this. Jest to specjalny wskaźnik wskazujący na bieżący obiekt. A zatem odwołanie $this->nazwa_pola oznacza pole znajdujące się w aktualnym obiekcie. Stąd prawidłowa postać funkcji show, wyświetlającej wartości pól klasy klasal, to: function showO {

echoCpolel - $this->po1el. poleź = $this->pole2");

}

Konstruktory

Konstruktory to specjalne metody, wykonywane podczas tworzenia obiektów danej klasy. Wykorzystywane są do wykonywanie wstępnych zadań inicjacyjnych, jak np. przypisanie początkowych wartości polom obiektu. Definicja konstruktora wygląda tak jak definicja każdej innej metody, z tą różnica, że jego nazwa musi być zgodna z nazwą danej klasy, schematycznie:

class nazwa_klasy

{

function nazwa klasy O

{

//treść konstruktora

}

//pozostałe składowe klasy

}

Napiszmy zatem konstruktor dla powstałej w poprzednich przykładach klasy klasal i sprawdźmy jego działanie. Zadaniem tego konstruktora będzie przypisanie polu polel wartości początkowej 100, natomiast polu poi e2 — wartości początkowej równej 200. Takie czynności wykonuje skrypt zaprezentowany na listingu 4.22.


Wyszukiwarka

Podobne podstrony:
skanuj0117 (20) Rozdział 4, ♦ Tablice i obiekty 129 Rysunek 4.19. Efekt działania skryptu z listingu
skanuj0105 (28) Rozdział 4. ♦ Tablice i obiekty 117 Rysunek 4.12.    j~ Efekt sortowa
72277 skanuj0101 (27) Rozdział 4. ♦ Tablice i obiekty 113 Rysunek 4.8. Schematyczna struktura tablic
skanuj0111 (22) Rozdział 4. ♦ Tablice i obiekty 123 Rozdział 4. ♦ Tablice i obiekty 123 Rysunek 4.15

więcej podobnych podstron