⬅ Wróć do spisu treści

Świat obiektów

Przykład 8.1: o_sumator



Objaśnienie:

Choć przykład nie jest zbyt złożony, to nawet doświadczonym programistom może sprawić problem przewidzenie wyników na podstawie kodu programu. Klasa Sumator można służyć do pamiętania (we własności o nazwie wartosc) odległości pokonanej krokami długości „krok” (inna własność obiektu).

Przykład 8.2: o_sumator2



Objaśnienie:

Zdefiniowaliśmy klasę Sumator2 i utworzyli dwa obiekty tej klasy, inicjując ich własności z chwilą tworzenia. Służy do tego specjalna funkcja zdefiniowana w klasie obiektu zwana konstruktorem (lub kreatorem). Nosi ona nazwę init i jest wywoływana za każdym razem, gdy tworzymy obiekt. Zapis Sumator(2,2) oznacza: utwórz obiekt i wywołaj konstruktora init z parametrami (2,2).

Ponieważ własności są inicjowane w konstruktorze – dwie pierwsze linijki definicji klasy (wynik = 0 i krok = 0) są zbędne. Pozostawiamy często takie inicjowanie wyłącznie dla jasności kodu (aby nie musieć analizować kodu konstruktora, aby ustalić jakie obiekt danej klasy ma własności.

Poprzedzając nazwę zmiennych słowem self wskazujemy, że chodzi o własność obiektu, a nie o zwykłą zmienną lub parametr. Także definicja każdej funkcji będącej metodą klasy powinna zawierać jako pierwszy parametr self - jest przez niego przekazywany obiekt na rzecz którego wywołujemy funkcję.

Mamy więc dwa magiczne momenty (dziejące się poza naszym kodem) na które należy zwrócić uwagę: