68952

Наслідування. Доступ до членів класу

Лекция

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

Наслідування — один з наріжних каменів обєктно-орієнтованого програмування, оскільки воно дозволяє створювати ієрархічні класифікації Використовуючи Наслідування, можна створювати загальні класи, що визначають властивості, характерні для всієї сукупності споріднених класів.

Украинкский

2014-09-28

31.5 KB

0 чел.

Лекція № 14

Тема: Наслідування. Доступ до членів класу.

Наслідування — один з наріжних каменів об'єктно-орієнтованого програмування, оскільки воно дозволяє створювати ієрархічні класифікації Використовуючи Наслідування, можна створювати загальні класи, що визначають властивості, характерні для всієї сукупності споріднених класів. Ці класи можуть успадковувати властивості один у одного, додаючи до них свої власні унікальні характеристики.

Згідно стандартної термінології мови C++ клас, лежачий в основі ієрархії, називається базовим (base class), а клас, що успадковує властивості базового класу, — похідним (derived class). Похідні класи, у свою чергу, можуть бути базовими по відношенню до інших класів.

У мові C++ передбачений могутній і гнучкий механізм наслідування.

Управління доступом до членів базового класу

При наслідуванні члени базового класу стають членами похідного класу. Як правило, для наслідування використовується наступна синтаксична конструкція.

с1ass імя-похідного-класу: рівень_доступу імя-базового-класу

{

// тіло класу

}

Параметр рівень_доступу визначає статус членів базового класу в похідному класі. Як цей параметр використовуються специфікатори public, private або protected. Якщо рівень доступу не вказаний, то для похідного класу за умовчанням використовується специфікатор private, а для похідної структури - public. Розглянемо варіанти, що виникають в цих ситуаціях. (Специфікатор protected буде описаний в наступному розділі.)

Якщо рівень доступу до членів базового класу задається специфікатором publiс то всі відкриті і захищені члени базового класу стають відкритими і захищеними членами похідного класу. При цьому закриті члени базового класу не міняють свого статусу і залишаються недоступними членам похідного. Як демонструє наступна програма, об'єкти класу derived можуть безпосередньо посилатися на відкриті члени класу base.

#include <iostream>

using namespace std;

class base {

int i, j;

public:

void set(int а, int b) { i=a; j=b; }

void show() { cout « i << " " « j « "\n"; }

};

class derived : public base {

int k;

public:

derived(int x) { k=x; }

void showkO { cout « k « "\n"; }

};

int main() {

derived ob (3) ;

fcb.set(l, 2); // Звернення до члена класу base

ob.showO; // Звернення до члена класу base

job.showkO; // Звернення до члена класу derived

return 0 ;

}

Якщо властивості базового класу успадковуються за допомогою специфікатора доступу private, всі відкриті і захищені члени базового класу стають закритими ними похідного класу. Наприклад, наступна програма навіть не буде скомпільована, оскільки обидві функції set() і show() тепер є закритими членами класу derived.

Ця програма не буде скомпільована.

#include <iostream>

using namespace std;

class base {

int i, j ;

public:

void set (int а, int b) { i=a; j=b; }

void show() { cout « i « " " « j « "\n";}

};

 

Відкриті члени класу base є закритими членами класу derived.

class derived : private base {

int k;

public:

derived(int x) { k=x; }

};

void main() {

derived ob (3) ;

ob.set (1, pb.show());

// Помилка, доступ до функції set() заборонений.

ob.show();

// Помилка, доступ до функції show() заборонений.

}

При закритому наслідуванні всі відкриті і захищені члени базового класу стають закритими членами похідного класу. Це означає, що вони залишаються доступними членам похідного класу, але недоступні решті елементів програми, що не є членами базового або похідного класів.


 

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

54343. Дмитриу Донской. Куликовская битва 83 KB
  Что позволило Дмитрию Ивановичу открыто выступить против монголотатар и разгромить их 12 октября 1350 года у московского удельного князя Ивана родился сын которого окрестили Дмитрием. Дмитрия Московского сумели получить для своего князя ярлык. Разведка великого князя донесла что Мамай собрав войско уже три недели ждал на Дону Ягайло Литовского.
54344. Сучасний урок - джерело творчості вчителя 2.78 MB
  €œТестові завдання з геометрії. клас із використанням тестуючого комплексу MIFTests. Кожен вчитель є справжнім керівником дитячого колективу діти визнають своїх педагогів за лідерів та активно співпрацюють із ними а це означає: вчитель має власний педагогічний імідж свій особливий педагогічний почерк він – конкурентоспроможний компетентний фахівець. МАТЕМАТИКА ТА ІТК У сучасному світі потреба в комп’ютерних технологіях постійно зростає – вони необхідні і вдома і на робочому місці. Систематичне використання...
54345. Комплекс игр и упражнений «Биоэнергопластика» в коррекционной работе с детьми-логопатами 717 KB
  Поражение верхней височной извилины приводит к тому что человек слышит слова но не понимает их смысла так как в зоне Вернике как в своеобразной картотеке хранятся все усвоенные человеком слова точнее их звуковые образы и он всю жизнь пользуется этой картотекой. Если произошло поражение этой зоны то хранящиеся там звуковые образы слов распадаются человек перестает понимать слова. При нормальном слухе он остается глухим к словам. Действительно левое полушарие отвечает: за движение правых конечностей и обеих рук за...
54346. Урок русского языка и литературного чтения 352 KB
  Планируемые результаты учебного предмета Русский язык общие на 4 года обучения Личностными результатами изучения русского языка в начальной школе являются: осознание языка как основного средства человеческого общения; восприятие русского языка как явление национальной культуры; понимание того что правильная устная и письменная речь является показателем индивидуальной культуры человека; способность к самооценке на основе наблюдения за собственной речью; способность к итоговому и пооперационному самоконтролю; ...
54347. Етапи розвязування задач за допомогою компютера 1.3 MB
  Для розвязання цих задач компютер озброєний найрізноманітнішим програмним забезпеченням, яке поділяється на чотири великих категорії: операційні системи, системні утиліти, системи програмування, прикладне програмне забезпечення.
54348. Інформаційно-комп’ютерні технології на уроках географії та природознавства 83.5 KB
  Вчителями природознавства опановано такі теми: Створення слайдових презентацій у середовищі програми MS Power Point Пошук та завантаження текстової звукової та відеоінформації з Інтернету Створення потокових презентацій відео кліпів у середовищі програми Movie Mker Створення та обробка графічної інформації засобами растрового графічного редактора dobe Photoshop. № п п Термін Тема заняття 1 Вересень Створення слайдових презентацій у середовищі програми MS Power Point. 3 Лютий Створення потокових презентацій відео кліпів у...
54349. Методика вивчення дробових чисел за курсом Математика у 5-6 класах 334 KB
  Організація самостійної діяльності учнів при вивченні дій ззвичайними дробами. ВСТУП Характеристика обовязкових результатів навчальних досягнень при вивченні дробових чисел Основною метою курсу математики 5-6 класів вважається: систематичний розвиток понять числа та вироблення вмінь усно та письмово робити арифметичні операції над числами формувати вміння переводити практичні задачі на мову математики підготовка учнів до вивчення курсів Алгебра€ та Геометрія€. Форми організації усного рахунку Добре розвинені у учнів навики усної...
54350. Методика организации инновационной деятельности в школе 142.5 KB
  Внутренние мотивы таковы: интерес к процессу деятельности интерес к результату деятельности стремление к саморазвитию развитию какихлибо своих качеств способностей. Мотив придает смысл деятельности для человека. Проведение диагностики: Изучение мотивов трудового поведения Ваш творческий потенциал Личностные ориентации педагога Готовность педагога к работе в инновационном режиме наблюдения за работой учителя индивидуальные собеседования дали возможность заинтересовать 76 педагогов нашей школы в участии в инновационной...
54351. Методика створення ігрових зон для першокласників 225.5 KB
  Сюжети ігор дуже різноманітні й відображають реальні умови життя дитини. Народна педагогіка виділяє дві основні групи ігор. Дидактичні гри різновид ігор за правилами. Успіх дидактичних ігор значною мірою залежить від правильного використання в них ігрового обладнання іграшок геометричних фігур природного матеріалу шишок плодів насіння листків тощо.