TURBO PASCAL |
Новости
|
НаследованиеЦелью науки является описание взаимодействий во вселенной. Большая часть работы в науке при продвижении к цели заключается просто в построении генеалогических деревьев. Когда энтомолог возвращается с Амазонки с неизвестным ранее насекомым в банке, то главной его заботой является определение, где это насекомое рас- полагается в гигантской схеме, на которой собраны научные назва- ния всех других насекомых. Аналогичные схемы составлены для рас- тений, рыб, млекопитающих, рептилий, химических элементов, эле- ментарных частиц и космических галактик. Все они выглядят как ге- неалогические деревья: с единой всеобщей категорией в вершине и все увеличивающимися число категорий, которые лежат ниже этой единственной категории, и разворачиваются веером по мере прибли- жения к границам разнообразия. Внутри категории "насекомые" имеется два подразделения: на- секомые с видимыми крыльями и насекомые со спрятанными крыльями или вообще бескрылые. Среди крылатых имеется большее число кате- горий; мотыльки, бабочки, мухи и т.д. Каждая категория содержит большое число подкатегорий, а ниже этих подкатегорий может иметь- ся даже еще большее число подкатегорий (см. Рис. 9.1). Этот процесс классификации называется таксономией. Это прек- расная начальная метафора для механизма наследования в объект- но-ориентированном программировании. Вопросами, которые задает ученый при попытке классификации некоторого животного или объекта, являются следующие. В чем этот объект похож на другие объекты из общего класса? В чем он отлича- ется от других объектов? Каждый конкретный класс имеет множество свойств поведения и характеристик, определяющих этот класс. Уче- ный начинает с вершины конкретного генеалогического дерева и про- ходит по дочерним областям, задавая себе эти вопросы. Наивысший уровень самый общий, а вопросы самые простые, например, крылатое или бескрылое? Каждый последующий уровень является более специфи- ческим, чем предыдущий, и менее общим. В конце концов, ученый до- бирается до точки подсчета волосков на третьем сегменте задней ноги насекомого - что воистину специфично. (И скорее всего о нем следует сказать, что он не энтомолог.) B.Pascal 7 & Objects /UG - 197 - ┌───────────┐ │ насекомые │ └─┬───────┬─┘ ┌───────────────┘ │ │ │ ┌────┴─────┐ ┌───┴───────┐ │ крылатые │ │ бескрылые │ └┬───┬───┬─┘ └───────────┘ ┌────────┘ │ └───────┐ ┌───┴──────┐┌────┴────┐┌─────┴────┐ │ мотыльки ││ бабочки ││ мухи │ └──────────┘└─────────┘└──────────┘ Рис. 9.1 Таксономическая схема насекомых. Важно помнить то, что если характеристика однажды определе- на, то все категории, расположенные ниже данного определения, со- держат эту характеристику. Таким образом, как только вы определи- ли насекомое, как члена отряда diptera (мухи), то вам не следует отмечать снова, что у мух имеется одна пара крыльев. Разновид- ность насекомых, которую мы зовем мухи, наследует эту характерис- тику от своего отряда. Как вы поняли, объектно-ориентированное программирование в большой степени является процессом построения генеалогического дерева для структур данных. Одной из важных особенностей, которые объектно-ориентированное программирование добавляет традиционным языкам типа Паскаль, является механизм, с помощью которого типы данных могут наследовать характеристики более простых, более об- щих типов. Этим механизмом является наследование. |
(с)Все права защищены По всем интересующим вопросам прошу писать на электронный адрес |