Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Дополнительные вопросы по ооп.docx
Скачиваний:
62
Добавлен:
01.04.2022
Размер:
76.51 Кб
Скачать

Что такое ооп?

Объектно-ориентированное программирование (ООП) — методология программирования, основанная на представлении программы в виде совокупности объектов, каждый из которых является экземпляром определенного класса, а классы образуют иерархию наследования.

  • объектно-ориентированное программирование использует в качестве основных логических конструктивных элементов объекты, а не алгоритмы;

  • каждый объект является экземпляром определенного класса;

  • классы образуют иерархии.

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

Класс – это способ описания сущности, определяющий состояние и поведение, зависящее от этого состояния, а также правила для взаимодействия с данной сущностью (контракт). С точки зрения программирования класс можно рассматривать как набор данных (полей, атрибутов, членов класса) и функций для работы с ними (методов). То есть, другими словами, класс является некоторым шаблоном для создания объектов. Допустим, у нас есть класс Dog, в нём определены поля возраста, породы и цвета. И по сути, возраст, порода и цвет собаки может быть различен. То есть, мы можем создать объект Шарик типа Dog, который будет содержать конкретные значения возраст, породу и цвет. И таких объектов может быть до бесконечности.

Объект (экземпляр) – это отдельный представитель класса, имеющий конкретное состояние и поведение, полностью определяемое классом. Каждый объект имеет конкретные значения атрибутов и методы, работающие с этими значениями на основе правил, заданных в классе. Например, у нас у всех есть некоторое представление о человеке - наличие двух рук, двух ног, головы, туловища и т.д. Есть некоторый шаблон - этот шаблон можно назвать классом. Реально же существующий человек является объектом этого класса.

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

  • Инкапсуляция - сокрытие реализации.

  • Наследование - создание новой сущности на базе уже существующей.

  • Полиморфизм - возможность иметь разные формы для одной и той же сущности.

  • Абстракция - набор общих характеристик.

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

Инкапсуляция – это свойство системы, позволяющее объединить данные и методы, работающие с ними, в классе и скрыть детали реализации от пользователя, открыв только то, что необходимо при последующем использовании. Пример - торговый автомат. Мы покупаем в нём различные товары, не зная того, как он устроен и как он работает.

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

Наследование – это свойство системы, позволяющее описать новый класс на основе уже существующего с частично или полностью заимствующейся функциональностью.

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

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