ZSBD-2st-1.2-w5.tresc-1.1-Slajd12

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania

Dziedziczenie

Dziedziczenie


Zdefiniowane przez użytkownika typy danych mogą być specjalizowane za pomocą mechanizmu dziedziczenia. W typach pochodnych w sposób przyrostowy definiuje się różnice między typem pochodnym i bazowym. W typie pochodnym do cech odziedziczonych z typu bazowego można dodać nowe atrybuty, nowe operacje, redefiniować kod odziedziczonych operacji lub zaimplementować kod odziedziczonej operacji abstrakcyjnej. Operacje abstrakcyjne mają zdefiniowaną składnię, ale nie posiadają implementacji. Ich zastosowaniem są typy danych, które służą jedynie jako typy bazowe dla innych docelowych typów danych.

Na slajdzie przedstawiono definicje dwóch typów: typu bazowego „Figura i dziedziczącego po nim typu pochodnego „Koło ”. Typ bazowy „Figura jest typem abstrakcyjnym, ma dwie abstrakcyjne operacje: „przesuń i „powierzchnia ”. Abstrakcyjność tych operacji, jak i całego typu deklaruje się w sposób jawny za pomocą słowa kluczowego: „non instantiable ”. Z kolei słowo kluczowe „not final oznacza, że typ ten może służyć jako typ bazowy. Typ Koło dziedziczy po typie „Figura atrybut o nazwie „typ i dwie wymienione metody abstrakcyjne. Definicja typu „Koło zawiera dwa dodatkowe atrybuty: „środek i „promień ”, oraz implementację odziedziczonych operacji abstrakcyjnych. Za pomocą słowa kluczowego „overriding definicja typu „Koło jawnie informuje o redefinicji odziedziczonych operacji. Na slajdzie nie przedstawiono wymaganej w tym wypadku implementacji operacji.


<< Poprzedni slajd | Spis treści | Następny slajd >>