Dziedziczenie i jego rodzaje Informatyka Dziedziczenie i jego rodzaje
Cele lekcji Podczas tej lekcji nauczysz się: tworzyć klasy bazowe i potomne; deklarować metody przesłonięte i przesłaniające; deklarować konstruktory klasy w klasie bazowej i klasach potomnych; stosować własne konstruktory do inicjowania obiektu. Wiedza: Uczeń potrafi: • opisać mechanizm dziedziczenia w programowaniu obiektowym; • wymienić i wyjaśnić podstawowe pojęcia związane z dziedziczeniem: polimorfizm, klasa bazowa, klasy potomne, przesłanianie metod, konstruktor klasy; • podać sposób deklaracji klasy potomnej; • podać sposób deklarowania metody przesłanianej i przesłaniającej; • omówić zastosowanie i sposób deklaracji konstruktora. Umiejętności: • zaprojektować strukturę klas z uwzględnieniem ich dziedziczenia; • tworzyć nową klasę bazową; • tworzyć klasę potomną na bazie wcześniej utworzonej klasy; • deklarować metody przesłonięte i przesłaniające; • zastosować metody przesłonięte w aplikacji; • deklarować konstruktory klasy w klasie bazowej i klasach potomnych; • zastosować konstruktory w aplikacji w trakcie inicjowania obiektu.
Przegląd zagadnień Dziedziczenie w programowaniu obiektowym. Klasy bazowe i klasy potomne. Przesłanianie metod. Polimorfizm. Konstruktory klasy. Przedstawienie zagadnień, które zostaną omówione na lekcji, zaciekawienie uczniów jej treścią.
Dziedziczenie w programowaniu obiektowym Programowanie obiektowe daje nowe mechanizmy programowania: dziedziczenie, polimorfizm czy stosowanie konstruktorów. Mechanizm dziedziczenia może być wykorzystany podczas tworzenia nowej klasy, która przejmie wszystkie elementy innej klasy, zwanej klasą bazową oraz pozwoli dodać nowe elementy charakterystyczne tylko dla niej. Dziedziczenie (inheritance), mechanizm programowania obiektowego umożliwiający przekazywanie właściwości klas bazowych (nadklas), klasom pochodnym (podklasom).
Klasy bazowe i klasy potomne Dziedziczenie jest bardzo ważną cechą programowania obiektowego. Pozwala ono budować hierarchiczną strukturę kolejnych klas z wykorzystaniem istniejących wcześniej właściwości i metod. Klasa bazowa – klasa, z której dziedziczymy właściwości i metody; nazywana czasem rodzicem lub superklasą. Klasa potomna – klasa dziedzicząca z innej klasy (bazowej); dzięki dziedziczeniu przejmuje wszystkie elementy klasy stojącej nad nią (rodzica). Klasę potomną czasem nazywa się dzieckiem lub podklasą.
Klasy bazowe i klasy potomne Dziedziczenie jest bardzo ważną cechą programowania obiektowego. Pozwala ono budować hierarchiczną strukturę kolejnych klas z wykorzystaniem istniejących wcześniej właściwości i metod. Klasa potomna – klasa dziedzicząca z innej klasy (bazowej); dzięki dziedziczeniu przejmuje wszystkie elementy klasy stojącej nad nią (rodzica). Klasę potomną czasem nazywa się dzieckiem lub podklasą. Klasa bazowa – klasa, z której dziedziczymy właściwości i metody; nazywana czasem rodzicem lub superklasą.
Przesłanianie metod Aby w klasie potomnej zdefiniować procedury o tej samej nazwie, co w klasie bazowej wykorzystujemy działanie, które nazywa się przesłanianiem (pokrywaniem) metod. Przesłanianie metod polega na umożliwieniu stosowania tych samych nazw metod w klasach potomnych i bazowych. Kompilator rozpoznaje, na jakim poziomie została zdefiniowana dana metoda i wykonuje ją odpowiednio dla danego obiektu.
Przesłanianie metod Aby poinformować kompilator o przesłanianiu metod, używamy dwóch słów kluczowych: Overridable – do zdefiniowania metody przesłanianej (zawsze w klasie bazowej); Overrides – do zdefiniowania metody przesłaniającej (deklarowana w klasie potomnej).
Polimorfizm Korzystając z polimorfizmu (wielopostaciowości) metod, można projektować bardzo skomplikowane klasy, które dziedziczą nie tylko cechy, lecz również zachowanie. Polimorfizm w programowaniu obiektowym to wykazywanie przez metodę różnych form działania, w zależności od tego, jaki typ obiektu jest wskazywany przez referencję lub wskaźnik.
Konstruktory klasy Definiowanie konstruktora klasy. Konstruktor klasy – specjalna procedura o nazwie New, inicjująca obiekt i pozwalająca przypisać jego właściwościom wartości początkowe.
Podsumowanie Dziedziczenie w programowaniu obiektowym. Klasy bazowe i klasy potomne. Przesłanianie metod. Polimorfizm. Konstruktory klasy.