Категория
Информатика
Тип
реферат
Страницы
5 стр.
Дата
21.07.2009
Формат файла
.rtf — Rich Text Format (Wordpad)
Архив
18277.zip — 6.27 kb
  • interfejsy-kak-reshenie-problem-mnozhestvennogo-nasledovanija_18277_1.rtf — 29.22 Kb
  • Readme_docus.me.txt — 125 Bytes
Оцените работу
Хорошо  или  Плохо


Текст работы

Интерфейсы как решение проблем множественного наследования
Евгений Каратаев
В этой работе разбирается проблема множественного наследования в языке программирования С++ и возможное ее решение путем применения
абстракций интерфейсов.
Множественным наследованием является образование класса путем наследования одновременно нескольких базовых классов. Штука полезная и одновременно с этим проблемная. Разберем пример, в котором появляется множественное наследование, приводящее к проблеме.
Классическим заданием для начинающего программиста является задача написать классы, реализующие иерархию Человек - Студент - Сотрудник. Обычно
первым же решением есть образование трех классов в виде:
class Человек ... ;
class Сотрудник : public Человек ... ;
class Студент : public Человек ... ;
В классе Человек декларируются несколько виртуальных и, возможно, абстрактных, функций, которые переопределяются / реализуются в классах-наследниках. Схема на первый взгляд совершенно очевидна и практически ни у кого не вызывает подозрений. Схема реализуется в программе и программа сдается в работу.
Проблема возникает позже, когда оператор приходит и говорит:
- У меня есть человек, который одновременно и сотрудник и студент. Что мне делать?
Реализованная схема, вообще говоря, не предполагает такого варианта - могут быть либо сотрудник, либо студент. Но что-то делать надо. В этот момент
приходит на помощь множественное наследование. Программист, не долго думая, создает еще один класс, образованный наследованием и от Сотрудник и
от Студент:
class СтудентСотрудник : public Студент, public Сотрудник ...;
На первый взгляд все в порядке, на второй - полный бардак. Дело в
том,



Ваше мнение



CAPTCHA