Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые проекты » Програма &Пошукова система на основі хеш-таблиць&

Реферат Програма &Пошукова система на основі хеш-таблиць&





орфізмом і абстракцією), що дозволяє описати новий клас на основі вже існуючого (батьківського), при цьому властивості і функціональність батьківського класу запозичуються новим класом. Іншими словами, клас-спадкоємець реалізує специфікацію вже існуючого класу (базовий клас). Це дозволяє звертатися з об'єктами класу-спадкоємця точно так само, як з об'єктами базового класу. Просте спадкування Клас, від якого відбулося спадкування, називається базовим або батьківським (англ. Base class). Класи, які походять від базового, називаються нащадками, спадкоємцями або похідними класами (англ. Derived class). У деяких мовах використовуються абстрактні класи.

Абстрактний клас - це клас, що містить хоча б один абстрактний метод, він описаний в програмі, має поля, методи і не може використовуватися для безпосереднього створення об'єкта. Тобто від абстрактного класу можна тільки наслідувати. Об'єкти створюються тільки на основі похідних класів, успадкованих від абстрактного. Наприклад, абстрактним класом може бути базовий клас «співробітник вузу», від якого успадковуються класи «аспірант», «професор» і т. Д. Так як похідні класи мають спільні поля і функції (наприклад, поле «рік народження»), то ці члени класу можуть бути описані в базовому класі. У програмі створюються об'єкти на основі класів «аспірант», «професор», але немає сенсу створювати об'єкт на основі класу «співробітник вузу».

Множинне успадкування

При множині спадкуванні у класу може бути більше одного предка. У цьому випадку клас успадковує методи всіх предків. Переваги такого підходу в більшої гнучкості. Множинне успадкування реалізовано в C ++. З інших мов, що надають цю можливість, можна відзначити Python і Ейфель. Множинне успадкування підтримується в мові UML. Множинне успадкування - потенційне джерело помилок, які можуть виникнути через наявність однакових імен методів в предках. У мовах, які позиціонуються як спадкоємці C ++ (Java, C # та ін.), Від множинного спадкоємства було вирішено відмовитися на користь інтерфейсів. Практично завжди можна обійтися без використання даного механізму. Однак, якщо така необхідність все-таки виникла, то, для вирішення конфліктів використання успадкованих методів з однаковими іменами, можливо, наприклад, застосувати операцію розширення видимості - «::» - для виклику конкретного методу конкретного батька. Спроба вирішення проблеми наявності однакових імен методів в предках була зроблена в мові Ейфель, в якому при описі нового класу необхідно явно вказувати імпортовані члени кожного з успадкованих класів та їх іменування в дочірньому класі. Більшість сучасних об'єктно-орієнтованих мов програмування (C #, Java, Delphi та ін.) Підтримують можливість одночасно успадковуватися від класу-предка і реалізувати методи декількох інтерфейсів одним і тим же класом. Цей механізм дозволяє багато в чому замінити множинне спадкування - методи інтерфейсів необхідно перевизначати явно, що виключає помилки при спадкуванні функціональності однакових методів різних класів-предків.

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

Форми поліморфізму

Поліморфізм включення

Цей поліморфізм називають чистим поліморфізмом. Застосовуючи таку форму поліморфізму, родинні об'єкти можна використовувати узагальнено. За допомогою заміщення і поліморфізму включення можна написати один метод для роботи з усіма типами об'єктів TPerson. Використовуючи поліморфізм включення і заміщення можна працювати з будь-яким об'єктом, який проходить тест «is-A». Поліморфізм включення спрощує роботу з додавання до програми нових підтипів, оскільки не потрібно додавати конкретний метод для кожного ново...


Назад | сторінка 2 з 11 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Клас птахи, загальна характеристика класу
  • Реферат на тему: Прикладне додаток &Розробка проекту для створення нового класу Auto і елеме ...
  • Реферат на тему: Анексія Криму, як можна вірішіті Конфлікт України с Россией чі можна его ві ...
  • Реферат на тему: Інтегрований урок читання (1 клас), історії (3 клас)
  • Реферат на тему: Створення комп'ютерної мережі навчального класу школи на основі кабелю ...