Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


Гендерна антидискримінаційна експертиза може зробити нас моральними рабами


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



Просте спадкування

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

Синтаксис оголошення похідного класу має такий вигляд:

//Базовий клас

class Base

{

//…

};

//Похідний клас

class Derived :<специфікатор_доступу> Base

{

//…

}

Тут <специфікатор_доступу> ‑ це public, protected або private; він не є обов'язковим і за замовчуванням приймає значення private для класів і public для структур.

Якщо в похідного класу є всього один базовий клас, то говорять про просте спадкування.

Рисунок 1. Зображення графів простого спадкування

Традиційно програмісти в С++ зображають спадкування у вигляді графів, стрілки яких направлені від похідного класу до базового класу.

У похідному класі звичайно додаються нові члени до членів базового класу. Однак існує також можливість перевизначення (або заміщення) членів базового класу. Звичайно використовується перевизначення функцій-членів базового класу. Щоб перевизначити функцію-член базового класу в похідному класі, досить включити її прототип в оголошення цього класу і потім дати її визначення. Звичайно, прототипи переобумовленої функції в базовому і похідному класах повинні збігатися.

Іноді виникає необхідність викликати функцію-член базового класу, а не її перевизначений варіант, це можна зробити за допомогою операції розширення області видимості:

<ім'я__класу>: : <ім'я_члена>

Це дає можливість компілятору "бачити" за межами поточної області видимості. Особливо часто це приходиться робити при перевизначенні функцій-членів. Перевизначена функцію-член може викликати відповідну функцію-член базового класу, а потім виконувати деяку додаткову роботу (або навпаки).

Похідний клас сам може служити як базовий клас для деякого іншого класу. При цьому вихідний базовий клас називається непрямим базовим класом для іншого базового класу.

 


Читайте також:

  1. Аутосомно_рецесивний тип успадкування.
  2. Відтворення основних засобів виробничого характеру –це процес безперервного їх оновлення. Розрізняють просте і розширене відтворення.
  3. Здійснення права на спадкування. Оформлення права на спадщину.
  4. Зчеплене успадкування.
  5. Зчеплене успадкування.
  6. Крок 1. Успадкування батьківських методів.
  7. Множинне спадкування
  8. Особливості спадкування за законом
  9. Поняття спадкового права. Порядок спадкування.
  10. Поняття спадкового права. Спадкування.
  11. Поняття спадкування
  12. Поняття спадкування, час і місце відкриття спадщини.




Переглядів: 1005

<== попередня сторінка | наступна сторінка ==>
Перспективні засоби і напрямки розвитку інформаційних систем | Множинне спадкування

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

  

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.002 сек.