12. Основные понятия ООП: инкапсуляция, наследование, полиморфизм.
Понятие объекта. Категории объектов. Отношения между объектами. Понятие класса. Отношения между классами. Понятие домена.
Основные понятия ООП
Инкапсуляция
Определение
Инкапсуляция — это процесс сокрытия деталей реализации объекта и предоставления интерфейса для взаимодействия с ним.
Пример
Объекты содержат приватные данные и публичные методы для работы с этими данными.
Наследование
Определение
Наследование позволяет создавать новый класс на основе существующего, унаследуя его свойства и методы.
Пример
Создание класса
SavingsAccount
, который наследует отBankAccount
.
Полиморфизм
Определение
Полиморфизм позволяет объектам разного типа быть обработанными через один интерфейс.
Пример
Использование виртуальных функций и указателей на базовый класс для вызова переопределенных методов производных классов.
Понятие объекта
Определение
Объект — это экземпляр класса, который содержит данные и методы для работы с этими данными.
Пример
Создание объекта класса
BankAccount
.
Категории объектов
Активные объекты
Объекты, которые могут инициировать действия самостоятельно, например, потоки или процессы.
Пассивные объекты
Объекты, которые выполняют действия только по запросу, например, обычные данные или структуры.
Абстрактные объекты
Объекты, которые не имеют конкретной реализации и предназначены для предоставления интерфейса, например, абстрактные классы и интерфейсы.
Отношения между объектами
Ассоциация
Простое отношение между объектами, которое показывает, что один объект знает о другом.
Агрегация
"Has-a" отношение, где один объект является частью другого, но может существовать отдельно.
Композиция
Сильная форма агрегации, где жизнь одного объекта зависит от другого.
Наследование
Отношение "is-a", где один класс является расширением другого.
Понятие класса
Определение
Класс — это шаблон для создания объектов, который определяет их данные и методы.
Пример
Определение класса
BankAccount
.
Отношения между классами
Наследование
Класс может наследовать свойства и методы другого класса.
Агрегация и композиция
Классы могут содержать объекты других классов в качестве своих членов.
Ассоциация
Классы могут иметь ссылки или указатели на объекты других классов.
Понятие домена
Определение
Домен — это область предметной области, которую охватывает программное обеспечение или система.
Пример
В банковской системе домен может включать учетные записи, транзакции, клиентов и т.д.
Last updated