ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ В C++ (4-Е ИЗДАНИЕ) (часть 9) онлайн

Вопросы

Ответы на эти вопросы вы сможете найти в приложении Ж.

1. Назначение наследования состоит в том, чтобы:

а)            создавать более общие классы в более специализированных;

б)           передавать аргументы объектам классов;

в)            добавлять возможности к существующим классам без их модифика- ции;

г)            улучшать сокрытие данных и их инкапсуляцию.

2. Класс-наследник называется____  от базового класса.

3. Преимущество использования наследования заключается в:

а)            обеспечении развития класса путем естественного отбора;

б)           облегчении создания классов;

в)            избежании переписывания кода;

г)            предоставлении полезной концептуальной основы.

4. Напишите первую строку описания класса Bosworth, который является public-производным класса Alphonso.

5. Будет ли правильным утверждение: создание производного класса требу- ет коренных изменений в базовом классе?

6. Члены базового класса для доступа к ним методов производного класса должны быть объявлены как public или_____             .

7. Пусть базовый класс содержит метод basefunc(), а производный класс не имеет метода с таким именем. Может ли объект производного класса иметь доступ к методу basefunc()?

8. Допустим, что класс, описанный в вопросе 4, и класс Alphonso содержат метод alfunc(). Напишите выражение, позволяющее объекту BosworthObj класса Bosworth получить доступ к методу alfunc().

9.            Истинно ли следующее утверждение: если конструктор производного клас- са не определен, то объекты этого класса будут использовать конструкто- ры базового класса?

10. Допустим, что базовый и производный классы включают в себя методы с одинаковыми именами. Какой из методов будет вызван объектом произ- водного класса, если не использована операция разрешения имени?

11. Напишите объявление конструктора без аргументов для производного класса Bosworth из вопроса 4, который будет вызывать конструктор без ар- гументов класса Alphonso.

12. Оператор разрешения обычно:

а)            ограничивает видимость переменных для определенных методов;

б)           обозначает, от какого базового класса создан производный;

в)            определяет отдельный класс;

г)            разрешает неопределенности.

13. Истинно ли следующее утверждение: иногда полезно создать класс, объ- ектов которого никогда не будет создано?

14. Предположим, что существует класс Derv, производный от базового класса Base. Напишите объявление конструктора производного класса, принима- ющего один аргумент и передающего его в конструктор базового класса.

15. Предположим, что класс Derv является частным производным класса Base. Мы определяем объект класса Derv, расположенный в функции main(). Через него мы можем получить доступ к:

а)            членам класса Derv, объявленным как public;

б)           членам класса Derv, объявленным как protected;

в)            членам класса Derv, объявленным как private;

г)            членам класса Base, объявленным как public;

д)           членам класса Base, объявленным как protected;

е)           членам класса Base, объявленным как private.

16. Истинно ли следующее утверждение: класс D может быть производным класса C, который в свою очередь является производным класса B, кото- рый производный класса A?

17. Иерархия классов:

а)            показывает те же взаимоотношения, что и схема организации;

б)           описывает взаимоотношение типа «имеет»;

в)            описывает взаимоотношения типа «является частью»;

г)            показывает те же взаимоотношения, что и наследственное дерево.

18. Напишите первую строку описания класса Tire, который является произ- водным классов Wheel и Rubber.

19. Предположим, что класс Derv является производным класса Base. Оба класса содержат метод func() без аргументов. Напишите выражение, входя- щее в метод класса Derv, которое вызывает метод func() базового класса.

20. Истинно ли следующее утверждение: невозможно сделать объект одного класса, членом, другого класса?

21. В UML наследование называют____          .

22. ключение — это:

а)            сложная форма реализации;

б)           сложная форма обобщения;

в)            сложная форма композиции;

г)            взаимоотношение типа «имеет».

23. Истинно ли следующее утверждение: стрелка, представляющая собой обобщение, указывает на более специфичный класс?

24. Композиция — это____     форма____       .

 

41