TURBO PASCAL

Новости

Программы   

Turbo Pascal 

Игры

Документация   

Странности

FAQ

Ссылки

Форум

Гостевая книга

Рассылка

Благодарности

Об авторе

 

 

Наследование 

             Целью науки  является  описание взаимодействий во вселенной.
        Большая часть работы в науке при продвижении к  цели  заключается
        просто  в  построении  генеалогических деревьев.  Когда энтомолог
        возвращается с Амазонки с неизвестным ранее насекомым в банке, то
        главной его заботой является определение,  где это насекомое рас-
        полагается в гигантской схеме,  на которой собраны научные назва-
        ния всех других насекомых.  Аналогичные схемы составлены для рас-
        тений,  рыб,  млекопитающих, рептилий, химических элементов, эле-
        ментарных частиц и космических галактик. Все они выглядят как ге-
        неалогические деревья:  с единой всеобщей категорией в вершине  и
        все  увеличивающимися  число  категорий,  которые лежат ниже этой
        единственной категории,  и разворачиваются веером по мере прибли-
        жения к границам разнообразия.

             Внутри категории "насекомые" имеется два подразделения:  на-
        секомые с видимыми крыльями и насекомые со  спрятанными  крыльями
        или вообще бескрылые.  Среди крылатых имеется большее число кате-
        горий;  мотыльки,  бабочки, мухи и т.д. Каждая категория содержит
        большое число подкатегорий, а ниже этих подкатегорий может иметь-
        ся даже еще большее число подкатегорий (см. Рис. 9.1).

             Этот процесс классификации называется таксономией. Это прек-
        расная начальная метафора для механизма  наследования  в  объект-
        но-ориентированном программировании.

             Вопросами, которые задает ученый при  попытке  классификации
        некоторого животного или объекта,  являются следующие. В чем этот
        объект похож на другие объекты из общего класса? В чем он отлича-
        ется от других объектов?  Каждый конкретный класс имеет множество
        свойств поведения и характеристик,  определяющих этот класс. Уче-
        ный начинает с вершины конкретного генеалогического дерева и про-
        ходит по дочерним областям,  задавая себе эти вопросы.  Наивысший
        уровень самый общий,  а вопросы самые простые, например, крылатое
        или бескрылое? Каждый последующий уровень является более специфи-
        ческим, чем предыдущий, и менее общим. В конце концов, ученый до-
        бирается до точки подсчета волосков на  третьем  сегменте  задней
        ноги насекомого - что воистину специфично.  (И скорее всего о нем
        следует сказать, что он не энтомолог.)


         B.Pascal 7 & Objects /UG   - 197 -

                                             ┌───────────┐
                                             │ насекомые │
                                             └─┬───────┬─┘
                               ┌───────────────┘       │
                               │                       │
                          ┌────┴─────┐             ┌───┴───────┐
                          │ крылатые │             │ бескрылые │
                          └┬───┬───┬─┘             └───────────┘
                  ┌────────┘   │   └───────┐
              ┌───┴──────┐┌────┴────┐┌─────┴────┐
              │ мотыльки ││ бабочки ││   мухи   │
              └──────────┘└─────────┘└──────────┘

             Рис. 9.1 Таксономическая схема насекомых.

             Важно помнить то,  что если характеристика однажды определе-
        на, то все категории, расположенные ниже данного определения, со-
        держат эту характеристику. Таким образом, как только вы определи-
        ли насекомое,  как члена отряда diptera (мухи), то вам не следует
        отмечать  снова,  что у мух имеется одна пара крыльев.  Разновид-
        ность насекомых, которую мы зовем мухи, наследует эту характерис-
        тику от своего отряда.

             Как вы  поняли,  объектно-ориентированное программирование в
        большой степени является  процессом  построения  генеалогического
        дерева для структур данных. Одной из важных особенностей, которые
        объектно-ориентированное программирование добавляет  традиционным
        языкам типа Паскаль,  является механизм,  с помощью которого типы
        данных могут наследовать характеристики более простых,  более об-
        щих типов. Этим механизмом является наследование.

Содержание

На первую страницу

Rambler's Top100 Rambler's Top100
PROext: Top 1000

(с)Все права защищены

По всем интересующим вопросам прошу писать на электронный адрес

Hosted by uCoz