C++ за 21 день седьмое издание


Наследование и происхождение



Download 1,38 Mb.
bet177/437
Sana22.02.2022
Hajmi1,38 Mb.
#89455
TuriРеферат
1   ...   173   174   175   176   177   178   179   180   ...   437
Bog'liq
word1

Наследование и происхождение

На рис. 10.1 приведена схема отношений между базовым классом (base class) и про­ исходящими от него производными классами (derived class). Трудно представить прямо сейчас, чем могли бы быть базовый и производный классы; постарайтесь понять, что про­ изводный класс наследует от базового класса, и в том смысле базовый класс — то же самое, что и Смит для Тома.


Отношения между производным и базовым классами применимы только к от­ крытому наследованию (public inheritance). Это занятие начинается с рассмо­ трения открытого наследования, чтобы объяснить саму концепцию наследова­ ния на примере его наиболее распространенной формы, прежде чем перехо­ дить к закрытому и защищенному наследованию.
Основы наследования 249

Чтобы проще объяснить эту концепцию, рассмотрим базовый класс B i r d (Птица). От класса B i r d происходят классы Crow (Ворона), P a r r o t (Попугай) и Kiwi (Киви). Класс B i r d определяет большинство основных атрибутов птицы, таких как наличие крыльев, откладывание яиц, способность лететь (у большинства). Производные классы, такие как Brow, P a r r o t и Kiwi, унаследовали бы эти атрибуты и скорректировали бы их (например, класс Kiwi не имел бы реализации метода F l y () (летать)). Еще несколько примеров на­ следования приведено в табл. 10.1.




ТАБЛИЦА 10.1. Примеры открытого наследования из повседневной жизни


Базовый класс Примеры производных классов



  1. i s h (Рыба)G o l d f i s h (Золотая рыбка), C a r p (Карп), Tuna (Тунец) (Тунец е с т ь рыба)

Mammal Human (Человек), E l e p h a n t (Слон), L i o n (Лев), P l a t y p u s (Утконос)


Млекопитающее) (Утконос е с т ь млекопитающее)


B i r d (Птица) Crow (Ворона), P a r r o t (Попугай), O s t r i c h (Страус), Kiw i (Киви),


P l a t y p u s (Утконос) (Утконос е с т ь также и птица!)


Shape (Форма) C i r c l e (Круг), P o l y g o n (Многоугольник) (Круг е с т ь форма)


P o ly g o n T r i a n g l e (Треугольник), O c t a g o n (Восьмиугольник) (Восьмиуголь­


Многоугольник) ник е с т ь многоугольник, который е с т ь форма)

Эта таблица демонстрирует то, что если надеть объектно-ориентированные очки, то примеры наследования можно увидеть повсюду вокруг. F i s h — это базовый класс для класса Tuna, поскольку Тунец, как и Карп, является рыбой и имеет все присущие рыбе характеристики, такие как хладнокровие. Однако Тунец отличается от Карпа внешним видом, скоростью плавания и тем фактом, что это морская рыба. Таким образом, клас­ сы Tuna и C a r p наследуют общие характеристики от общего базового класса F i s h , но все же специализируют атрибуты своего базового класса, чтобы отличатся друг от друга (рис. 10.2).





Download 1,38 Mb.

Do'stlaringiz bilan baham:
1   ...   173   174   175   176   177   178   179   180   ...   437




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish