- Принципы ООП
- Принципы SOLID
- Паттерны проектирования
🏆 Правильных ответов: 12 из 12.
- Класс — это шаблон, определяющий состояние и поведение объектов, объект — это экземпляр класса
- Использование класса с чрезмерно большим количеством методов, имеющих разное предназначение
- Абстракция может достигаться путем использования интерфейсов, а инкапсуляция — за счет модификаторов доступа
- Когда в классе есть несколько методов, имеющих одинаковое имя, но разное число параметров одного типа
- Класс OrderStatusControl содержит методы для управления статусом
- Если программа была принудительно завершена
Q7. Вы хотите обеспечить доступность полей и методов класса из самого класса, из производного класса, но не из любого места программы. Какой из модификаторов доступа вы будете использовать?
- Только protected
Q8. Вы разрабатываете систему для управления грузоперевозками. У вас есть базовый класс Transport, от которого наследуются классы Truck и Ship. В классе Transport есть метод calculateCost(), который рассчитывает стоимость доставки. При использовании этого метода в классе Ship возникает ошибка, и программа перестает работать. Какой принцип ООП мог быть нарушен при разработке этой системы?
- Принцип подстановки Барбары Лисков
- Когда необходимо уменьшить связанность кода
- Когда нужно создать разноплановые по состоянию классы, но с общим действием (методом)
- Когда нужно использовать множественное наследование
- Когда необходимо хранить общее состояние классов-наследников
- Во всех перечисленных выше случаях
Q10. У вас есть иерархия классов для работы с фигурами: базовый класс Figure и два его дочерних класса, Rectangle и Circle. Класс Rectangle имеет дополнительный метод get_areal), который возвращает площадь прямоугольника. В языках со строгой типизацией, каким образом можно использовать приведение типов для получения площади прямоугольника, используя метод get_area()?
- Привести объект класса Figure к типу Rectangle и вызвать метод get_ area() на объекте класса Rectangle
- Ковариантности
- Обобщенных классов
- Виртуальных методов
- Множественного наследования
- Сужения класса
Q12. У вас есть модули, которые зависят друг от друга: если вы меняете один модуль, вы должны внести изменения в зависимые модули. Какой термин используется для описания этой проблемы?
- Проблема связанности