19824

Множинне успадкування (побудова класів, похідних від декількох багатьох базових)

Доклад

Информатика, кибернетика и программирование

Множинне спадкування концепція підтримувана частиною об'єктноорієнтованихмов програмування при якій класнащадок може мати більше одного суперкласубезпосереднього класубатька. Ця концепція є розширенням простого абоодиночного спадкування single inheritan...

Украинкский

2013-07-17

18.97 KB

27 чел.

Множинне спадкування - концепція, підтримувана частиною об'єктно-орієнтованихмов програмування, при якій клас-нащадок може мати більше одного суперкласу(безпосереднього класу-батька). Ця концепція є розширенням «простого (абоодиночного) спадкування» (single inheritance), при якому клас можеуспадковуватися тільки від одного суперкласу. Якщо протиставляється одиночнеспадкоємство множинного, то означає протиставлення технології, що дозволяєобійти множинне спадкування, а саме застосування інтерфейсів.
У список мов, які підтримують множинне успадкування, входять: Eiffel, C + +, Dylan, Python, Perl, Curl, Common Lisp (завдяки CLOS), Delphi (завдяки Class Helpers) [1],OCaml, Tcl (завдяки Incremental Tcl) [2] , а також Object REXX і Ruby (за рахунок використання класів-домішок).

Одним з найбільш значущих переваг ООП є те, що біль  шінство класів дляреалізації об'єктів не доводиться розробляти «снулая». Зазвичай класи будують набазі вже існуючих, використовуючи хутра  нізми, що реалізують певне відношенняіснуючого і строящегоклассов між собою: спадкування, композицію, агрегацію іполіморфноенаследованіе.
спадкуванням
або
узагальненням
називають відношення між класами, при якому один клас будується на базі другогоза допомогою додавання
306

Похідні класи: одиночне спадкоємство

Першим кроком при вивченні об'єктно-орієнтованого програмування було усвідомлення завдання як взаємодії програмних компонент. Наступним кроком у вивченні об'єктно-орієнтованого програмування стає організація класів у вигляді ієрархічної структури, заснованої на принципі наслідування.
Згадаймо завдання поздоровлення родича з днем ​​народження. Ми вдалися до послуг пошти, а точніше конкретного поштового службовця. Прийнявши наше замовлення і оплату, поштовий службовець видав нам квитанцію і став виконувати прийнятий замовлення. Ці дії не є унікальними не тільки для даного поштового службовця, а й для багатьох інших поштових службовців, а головне і для багатьох службовців у сфері послуг взагалі. Таким чином, можна виділити загальне поведінку всіх службовців, приватним представником яких є поштові службовці.
У мовах програмування спадкування означає, що поведінка і дані, пов'язані з дочірнім класом, завжди є розширенням властивостей, пов'язаних з батьківським класом. Підклас має всі властивості батьківського класу і, крім того, додаткові властивості. З іншого боку, так як дочірній клас є більш спеціалізованою (або обмеженою) формою батьківського класу, він також буде звуженням батьківського класу. Це діалектичне протиріччя між спадкуванням як розширенням і спадкуванням як звуженням викликає деяку плутанину.
Спадкування завжди транзитивно, тобто клас успадковує риси Надклас (базових класів), віддалених від нього на декілька рівнів. Наприклад, якщо собака - це дочірній клас класу ссавців, а ссавці - це дочірній клас класу тварин, то собака успадковує властивості класу і ссавців і тварин.
Підкласи (дочірні класи) можуть перевизначати поведінку, успадковане від батьківського класу. Наприклад, клас утконосов перевизначає процедуру розмноження, успадковану від батьківського класу ссавців.


 

А также другие работы, которые могут Вас заинтересовать

35136. Пример реализации обмена данными с Microsoft Excel 45.5 KB
  Создание новой книги Vrint MSBooks; MSBooks = MSExcel. Создание нового листа книги. Сохранение книги. Создание нового листа книги.
35137. Изучение формата баз данных Visual FoxPro 549.5 KB
  После заголовка таблицы следует цепочка 32байтовых описаний полей таблица 4.fmp Fp 01 1 YY Год последнего обновления таблицы Все 02 1 MM Месяц последнего обновления таблицы Все 03 1 DD День последнего обновления таблицы Все 04 4 RecordsCount Количество записей в таблице Все 08 2 HederSize Размер заголовка в байтах Все 10 2 RecordSize Размер записи в байтах Все 12 2 0x000x00 Зарезервировано Все 14 1 0x01 Начало транзакции D4 D5 0x00 Конец транзакции D4 D5 0x00 Игнорируется FS D3 Fb Fp CL 15 1 0x01 Закодировано D4 D5 0x00 Нормальная...
35138. Разработка файл-серверной информационной системы с использованием технологий Borland 47.5 KB
  Программное использование БД Простейший случай Для обращения к таблицам используются невизуальные компоненты TTble и TDtSource закладки Dt ccess и BDE палитры компонентов и ряд визуальных: TDBGrid TDBEdit TDBLookupComboBox и т. В компоненте TTble устанавливаются свойства TbleNme TbleType. В последнем случае псевдоним БД указывается в свойстве DtbseNme объекта TTble. В компоненте TDtSource устанавливается свойство DtSet как указатель на TTble.
35139. Поддержка сложных запросов в файл-серверной информационной системе с использованием технологий Borland 59.5 KB
  Способным работать независимо от того отсутствуют ли требуемые таблицы или наличествуют и заполнены данными. Например: SELECT fio FROM stud; выборка поля fio из всех записей таблицы stud SELECT fio n_spect FROM stud; выборка полей fio n_spect из таблицы stud SELECT FROM stud; выборка всех полей из таблицы stud SELECT s. FROM stud S s; выборка всех полей из таблицы stud с присваиванием таблице псевдонима s SELECT s.n_spect S spect FROM stud S s; выборка из таблицы stud полей fio и n_spect с присваиванием им...
35140. Использование встроенных средств SQL-сервера InterBase для создания и использования базы данных 127 KB
  оздание БД интерфейсными средствами WISQL. Выполняется путем использования функции WISQL File Create Database. Диалог создания БД показан на рисунке 1. В поле Location Info устанавливается переключатель Local Engine
35142. Программная реализация выборки и модификации данных в базе данных Interbase 56.5 KB
  При этом сохранение результатов редактирования выполняется путем вызова рассмотренной ранее функции pplyUpdtes класса TBDEDtSet и всех его потомков например компонента Query содержимое выборки которого редактируется и кэшируется которая выполняет отправку в БД закэшированных на клиентской стороне изменений. Пример реализации функции обработки события OnUpdteRecord: void __fstcll TDtModule1::Query1UpdteRecordTDtSet DtSet TUpdteKind UpdteKind TUpdtection Updtection { switch UpdteKind { cse ukModify: brek; cse ukInsert:...
35143. АИС Магазин бытовой техники и электроники 419.63 KB
  Проектирование функциональных особенностей системы 5. Требуется создание информационной системы использование которой будет способствовать повышению эффективности работы всех отделов компании и обеспечивать ведение учета в единой системе. В расчетном задании предполагается осуществить представление информационной системы которая будет вести реестр создавать отчеты и генерировать заказы. Иметь оперативную связь между всеми пользователями системы содержать все необходимые данные о технике.
35144. Создание и заполнение справочников 8.26 MB
  Выполнить действия: А Выбрать пункт меню Справочник щелчком левой кнопки мыши Б Выбрать команду Фирмы щелчком левой кнопки мыши если разрешен учет по нескольким фирмам В Нажать клавишу SHIFTENTER для ввода новой фирмы Астра Г Заполнить реквизиты фирмы 2. Выполнить действия: А Выбрать пункт меню Справочник щелчком левой кнопки мыши Б Выбрать команду Места хранения щелчком левой кнопки мыши В Нажать клавишу Insert для ввода нового элемента Г в пункте Тип выбрать Склад Д в пункте Вид склада выбрать Склад оптовый Е Можно ввести...