Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

class laborer

Читайте также:
  1. CHAPTER IV GRAMMATICAL CLASSES OF WORDS
  2. Class manager
  3. Royal brides: a class act?
  4. Russian Classification of Economic Activities
  5. The Theory of Grammatical Classes of Words
  6. Проигрыватель видео Media Player Classic

{

private:

employee emp;

public:

void getdata ()

{

emp.getdata ();

}

void putdata () const

{

emp.putdata ();

}

};

 

int main ()

{

manager m1;

scientist s1, s2;

laborer l1;

// введем информацию о нескольких сотрудниках

cout << endl;

 

cout << "\nВвод информации о первом менеджере";

m1.getdata ();

 

cout << "\nВвод информации о первом ученом";

s1.getdata ();

 

cout << "\nВвод информации о втором ученом";

s2.getdata ();

 

cout << "\nВвод информации о первом рабочем";

l1.getdata ();

 

// выведем полученную информацию на экран

cout << "\nИнформация о первом менеджере";

m1.putdata ();

 

cout << "\nИнформация о первом ученом";

s1.putdata ();

cout << "\nИнформация о втором ученом";

s2.putdata ();

 

cout << "\nИнформация о первом рабочем";

l1.putdata ();

 

cout << endl;

return 0;

}

· Роль наслідуванняпри розробці програм.

Процес розробки програм був грунтовно змінений з появою ООП. Це зв'язано не тільки з використанням класів, але і з використанням наслідування. Розглянемо його етапи.

Нехай програміст А створює клас. Припустимо, це буде клас, схожий на клас Distance, методи якого призначені для виконання арифметичних операцій з визначеним користувачем типом даних.

Програмістові Б подобається цей клас, але він вважає, що клас може бути покращуваний шляхом введення знаку інтервалу. Рішенням буде створення нового класу, схожого на клас DistSign, який є похідним класу Distance, але включає розширення, необхідні для реалізації знаку інтервалу.

Програмісти В і Г потім пишуть додатки, що використовують клас DistSign.

Програміст Б може не мати доступу до початкового коду, що реалізовує клас Distance, а програмісти В і Г можуть не мати початкового коду класу DistSign. Але в C++ існує можливість повторного використання коду, тому програміст Б може використовувати і доповнювати роботу програміста А, а В і Г можуть використовувати роботи БА).

Відмінності між розробниками інструментів програмного забезпечення і програмістами, що пишуть додатки, стають розпливчатими. Програміст А створює спільноцільовий програмний інструмент, клас Distance. Програміст Б, у свою чергу, створює більш спеціалізований клас DistSign. Програмісти В і Г пишуть додатки. А - розробник інструменту, а В і Г - розробники додатків. Б знаходиться десь посередині.

У будь-якому випадку ООП робить програмування гнучкішим, але в той же час і складнішим.

Резюме.

1) Клас, званий похідним класом, може успадковувати можливості іншого класу, званого базовим класом. При цьому в похідному класі можуть бути свої власні можливості, оскільки він є більш спеціалізованою версією базового класу. Наслідування надає ефективний спосіб розширення можливостей існуючих класів і розробки програм з використанням ієрархічних зв'язків між класами.

2) Важливим питанням є доступність членів базового класу для методів і об'єктів похідних класів. До полів і методів базового класу, оголошених як protected, можуть мати доступ тільки методи похідного класу.

3) Класи можуть бути загальними і приватними похідними базового класу. Об'єкти загального похідного класу мають доступ до членів базового класу, оголошених як public, а об'єкти приватного похідного класу доступу до них не мають.

4) Клас може бути похідним більш ніж одного базового класу. Цей випадок називається множинним спадкоємством. Також клас може міститися усередині іншого класу.

5) У діаграмах UML наслідування називають узагальненням. Воно представляється у вигляді трикутної стрілки, вказуючої на базовий клас.

6) Включення (агрегація) — це взаємовідношення типу «має» або «є частиною», при цьому один клас містить об'єкти іншого класу. Включення представляється на діаграмах UML стрілкою у формі ромба, що показує на цілу частина пари частина—ціле.

7) Композиція — це складніша форма об'єднання. На діаграмах вона показується так само, але стрілка закрашена.

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

 


Дата добавления: 2015-08-13; просмотров: 49 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Class manager| Цели производственной практики

mybiblioteka.su - 2015-2024 год. (0.007 сек.)