25/08/ Języki programowania 1 Piotr Górczyński Obiekty i zdarzenia
25/08/ Obiekt Obiekt jest to informatyczny model bytu, odzwierciedlający jego cechy (właściwości) oraz czynności (metody), które może wykonywać. Opis świata za pomocą obiektów jest bardziej intuicyjny i sprawdza się lepiej we wszystkich aspektach budowy systemów informatycznych niż opis strukturalny.
25/08/ Przykłady obiektów NazwaWłaściwośćMetoda LiczbaWartośćDodaj KontrolkaPołożenieKliknij OknoRozmiarOtwórz BankomatAktualna ilość gotówkiWypłać KlientStan kontaWpłać
25/08/ Kluczowe zagadnienia Instancja=obiekt Hermetyzacja Zdarzenia Komunikaty Polimorfizm Klasa Dziedziczenie
25/08/ Hermetyzacja Obiekt jest dostępny tylko poprzez te metody i właściwości, które zostały udostępnione. Dzięki temu wnętrze obiektu jest chronione. class mala_liczba //obiekt do przechowywania liczb od 1 do 5 private: wartosc as byte; public: sub zmien(nowa_wartosc) ml=new mala_liczba ml.wartosc=225 //błąd-kompilator nie pozwoli użyć wartosc ml.zmien(255) //w zmien sprawdzamy 1<=nowa_wartosc<=5
25/08/ Zdarzenia Zdarzenia (event) dzielimy na: użytkownika (np. kliknięcie guzika) systemowe (np. nadejście określonego czasu) Obiekty mogą reagować na określone zdarzenia poprzez przypisanie zdarzeniom stworzonych metod (procedur obsługi zdarzenia). Metoda Form_Load() zostanie wywołana w chwili wystąpienia zdarzenia Load (ładowanie).
25/08/ Komunikaty Komunikat jest to sygnał powstały na skutek pewnego zdarzenia przesłany do obiektu i powodujący wykonanie metody danego obiektu. Komunikat może mieć argumenty. Metody odświeżające kontrolki: ListBox1.Refresh() Command1.Refresh() są wykonywane po odebraniu komunikatu, że należy je odświeżyć. Zauważmy, że metody nazywają się identycznie, chociaż mogą w różny sposób działać
25/08/ Polimorfizm Metody o tej samej nazwie, ale należące do różnych obiektów mogą być inne. Metody o tej samej nazwie, ale o różnej liście argumentów mogą być inne. Polimorfizm typów. class Prostokat Public: Sub Definuj(a as integer, b as integer) Sub Definuj(a as integer)
25/08/ Klasa Klasa jest to wzorzec dla zbioru takich samych obiektów. Jeden element klasy jest nazywany instancją klasy lub obiektem. class Prostokat //klasa prostokątów Public: Sub Definuj(a as integer, b as integer) Sub Definuj(a as integer) a as Prostokat //obiekt a z klasy Prostokat b as Prostokat //obiekt b z klasy Prostokat
25/08/ Dziedziczenie Mechanizm dziedziczenia pozwala na tworzenie coraz bardziej szczegółowych klas, zawierających wszystkie właściwości i metody klas nadrzędnych. class Figura pola as Double kolor as Color class Kolo: class Figura promien as Double class Prostokat: class Figura bok_a as Double bok_b as Double
25/08/ Literatura vb4all.canpol.pl