Promotic

Co to jest obiekt

W celu lepszego zrozumienia języka obiektowego, jest konieczne wytłumaczenie znaczenia słowa "obiekt". W poprzednich rozdziałach już kilkakrotnie spotkałeś się z tym pojęciem:

- Najpierw wytwarzałeś w drzewie Pma obiektów Pma obiekty ("BoilerPlant", "Boiler1", "Data", "Panel", itd.)
- Następnie w obiekcie "Data" (typu PmaData) wytwarzałeś zmienne "Power", "Temperature" oraz "Status" (są one obiektami typu PmVar)
- A następnie wytwarzałeś Pmg obiekty (Suwak, Numer, itd.) w panelu.


Pojęcie obiekt można zdefiniować w różny sposób. Dla dalszego wykładu użyjemy prosty przykład.
Wytłumaczymy to sobie przy pomocy obiektu, który przedstawia wyimaginowane okno w SO Windows (obiekt ten jest zmyślony oraz służy nam tylko dla wytłumaczenia).
W kolejnych przykładach będziemy zmienną, w której jest zpisane odniesienie do tego obiektu, oznaczać oWindow.

1) Obiekt posiada WŁAŚCIWOŚCI

Obiekt "okno" może mieć na przykład następujące właściwości:

- X .. pozycja X lewego górnego rogu
- Dy .. wielkość okna w kierunku osi Y
- BackgroundColor .. kolor tła, itd.


Każda właściwość posiada swoją nazwę (X, Dy, BackgroundColor) oraz swoją wartość.

Z właściwościami można wykonywać dwie operacje:

1) Można określić wartość właściwości (mówimy, że właściwość możemy odczytywać):
JavaScriptVBScriptWybierz oraz skopiuj do schowka

var nDy = oWindow.Dy;


2) Można ustawić wartość właściwości (mówimy, że do właściwości możemy zapisywać):
JavaScriptVBScriptWybierz oraz skopiuj do schowka

oWindow.Dy = 1024;


Notatka: Poprzednie urywki (tak samo jak następujące) są tylko schematyczne i zostaną dalej wytłumaczone. Jest bardzo ważnym zapamiętać sobie, że zawsze jest konieczne wymienić obiekt i nazwę właściwości i że te dwa pojęcia oddziela się kropką.

Niektóre właściwości mogą być przeznaczone do odczytu i zapisu, niektóre właściwości mogą być przeznaczone tylko do odczytu.

2) Obiekt posiada METODY

Obiekt "okno" może mieć na przykład następujące metody:

- Print .. wydruk zawartości okna na drukarku
- SaveToFile .. zapis zawartości okna do pliku typu .jpg lub .png.


Z metodami można wykonywać tylko jedną czynność: metodę możemy wywołać. Przez wywołanie metody zostanie wykonana odpowiednia operacja, na przykład wydruk na drukarku.

Metoda może zwracać wartość. Na przykład często zwraca znacznik o wyniku wykonania operacji, może też zwracać wynik jakiegoś złożonego obliczenia, itd.

Metoda może posiadać parametry (i zazwyczaj je posiada), które bliżej określają, jak ma dana operacja zostać wykonana. Na przykład przy wykonaniu metody SaveToFile parametrem można oznajmić, do którego pliku ma zostać zapisana zawartość okna.

Przykłady wywołania metody:
JavaScriptVBScriptWybierz oraz skopiuj do schowka

var Result;

// Jeżeli metoda nie posiada parametrów:
oWindow.Print();   // Wartość zwrotna nas nie interesuje
Result = oWindow.Print();   // Wartość zwrotna nas interesuje

// Jeżeli metoda posiada parametry:
oWindow.SaveToFile("C:\\Data\\Picture.jpg");   // Wartość zwrotna nas nie interesuje
Result = oWindow.SaveToFile("C:\\Data\\Picture.jpg");   // Wartość zwrotna nas interesuje

3) Obiekt posiada ZDARZENIA

Obiekt "okno" może mieć na przykład następujące zdarzenia:

- onOpen .. okno zostało otwarte
- onClose .. okno zostało zamknięte
- onMouseClick .. w oknie kliknięto przyciskiem myszki


Przy pomocy właściwości i metod możesz nad danym obiektem wykonywać operacje. Zdarzenie jednak spełnia rolę odwrotną - obiekt poprzez zdarzenie sam oznajmia, że coś się w nim wydarzyło. Zdarzenie nie odczytujemy, niezapisujemy do niego ani go nie wołamy - zdarzenie zostanie wywołane.

Zdarzenie może również posiadać parametry. Parametrów tych jednak nie wprowadzasz (tak jak w przypadku właściwości i metod) lecz poprzez te parametry obiekt bliżej określa, co się w nim wydarzyło. Na przykład w przypadku zdarzenia onMouseClick w parametrach zdarzenia mogła by się znajdować informacja, czy kliknięto lewym lub prawym przyciskiem myszki.

Każdemu zdarzeniu może być przyszeregowany skrypt tak, że jeżeli to zdarzenie nastąpi, wtedy dany skrypt zostanie wykonany. W systemie PROMOTIC jest każdy skrypt przyszeregowany jakiemuś zdarzeniu, chodzi o tzw. programowanie poprzez zdarzenia.
© MICROSYS, spol. s r. o.