Java. Ответы на вопросы по ООП

Réussis tes devoirs et examens dès maintenant avec Quizwiz!

Имеется выражение "является" и "имеет". Что они подразумевают в плане принципов ООП?

"является" - наследование "имеет" - композиция В качестве примера предположим что у нас есть классы Строение, Дом и Ванная комната. Так вот Дом является строением, что нельзя сказать про Ванну, которая не является домом. А вот Дом имеет\включает в себя Ванну. Если вы хотите использовать повторно код, то не обязательно использовать наследование. Если нет отношения "является", то лучше тогда использовать композицию для повторного использования кода. Не используйте наследование для получение полиморфизма, если нет ключевой зависимости "является". Используйте интерфейсы для полиморфизма.

Назовите основные принципы ООП.

(Абстракция) Инкапсуляция Наследование Полиморфизм

В чем разница между композицией и агрегацией?

Ассоциация обозначает связь между объектами. Агрегация и композиция это частные случаи ассоциации. Агрегация предполагает, что объекты связаны взаимоотношением "part-of" (часть). Композиция более строгий вариант агрегации. Дополнительно к требованию part-of накладывается условие, что "часть" не может одновременно принадлежать разным "хозяевам", и заканчивает своё существование вместе с владельцем. Например: мотоцикл -> cумка с багажём - ассоциация. Отношение "имеет". мотоцикл -> колесо - композиция. группа по интересам -> человек - агрегация. человек часть группы, но может принадлежать нескольким разным группам.

Что такое aбстракция?

Выделение общих характеристик объекта,исключая набор незначительных. С помощью принципа абстракции данных, данные преобразуются в объекты. Данные обрабатываются в виде цепочки сообщений между отдельными объектами. Все объекты проявляют свои уникальные признаки поведения. Огромный плюс в отделении реализации объектов от их деталей, что в свою очередь позволяет управлять функциями высокого уровня через функции низкого уровня.

Что такое объект?

Именнованная модель реальной сущности, обладающая конкретными значениями свойств и проявляющая свое поведение, обладающий именем набор данных (полей и свойств объекта), физически находящихся в памяти компьютера, и методов, имеющих доступ к ним. Это конкретный экземпляр класса.

Какие проявления полиморфизма в Java Вы знаете?

Концепцией является идея "один интерфейс, множество методов". Это означает, что можно создать общий интерфейс для группы близких по смыслу действий.

Что такое ООП?

Методология программирования, основанная на представлении программного продукта в виде совокупности объектов, каждый из которых является экземпляром конкретного класса. Используется в качестве базовых элементов взаимодействие объектов.

В чем преимущества объектно-ориентированных языков программирования?

Они представляют реальные объекты в жизни, например, Машина, Джип, Счет в банке и тд... Инкапсуляция, наследование и полиморфизм делает его еще мощнее.

Как использование объектно-ориентерованного подхода улучшает разработку программного обеспечения?

Основные преимущества: повторное использование кода(наследование); реальное отображение предметной области. Объекты соответствуют реальному миру(см. предыдущий пункт).

В чем преимущество полиморфизма?

Позволяет добавлять новые классы производных объектов, не нарушая при этом код вызова. Также использование полиморфизма называют динамическим связыванием объектов.

Что такое наследование?

Процесс благодаря которому один объект может приобрести свойства другого объекта ( всех свойств одного объекта другим) и добавлять черты характерны только для него самого ! class Dog extends Animal {...} Суперкласс -> Подкласс Родительский -> Дочерний

Что такое полиморфизм?

Свойство, которое позволяет одно и то же имя использовать для решения двух или более схожих, но технически разных задач. Его целью применительно к объектно-ориентированному программированию, является использование одного имени для задания общих для класса действий. Выполнение каждого конкретного действия будет определяться типом данных.

Что такое инкапсуляция?

Сокрытие реализации класса и отделение его внутреннего представления от внешнего (интерфейса), это свойство которое позволяет закрыть доступ к полям и методам класса другим классам, а предоставлять им доступ только через интерфейс(метод). При использовании объектно-ориентированного подхода не принято применять прямой доступ к свойствам какого-либо класса из методов других классов. Для доступа к свойствам класса принято задействовать специальные методы этого класса для получения и изменения его свойств.

Что вы подразумеваете под полиморфизмом?

Это означает способность переменно данного типа, которая ссылается на объекты разных типов, при этом вызывается метод, характерный для конкретного типа ссылки на объект. Рассмотрим пример: Имеется классы: Фигура, круг и треугольник. Круг и треугольник наследуется от фигуры соответственно. Каждый класс имеет метод "рисовать". В круге и треугольнике этот метод переопределен. Так вот, создаем объект с типом "Фигура" и присваиваем ей ссылку на объект типа "Круг" и вызываем на этом объекте метод "рисовать". В итоге вызывается метод класса "Круг", а не класса "Фигура" как ожидалось.


Ensembles d'études connexes

MHR 3020 - Final Exam (ch. 14) T/F

View Set

National Board Review_Anatomic Sciences

View Set

Test One Review Questions--Supply Chain Management

View Set