Kategorien: Alle - наследование - методы - объекты

von Алексей Хлобыстов vor 4 Tagen

75

Основные принципы ООП

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

Основные принципы ООП

Основные принципы ООП

Формы полиморфизма

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

Полиморфизм

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

Наследование

Реализация методов интерфейсов в C#, Java, Delphi и др.
Множественное наследование: класс может наследовать методы нескольких предков
Абстрактные классы: содержат абстрактные методы и не могут использоваться для создания объектов напрямую
Простое наследование: базовый класс и производные классы
Класс-наследник реализует спецификацию базового класса
Описание нового класса на основе уже существующего (родительского) класса

Инкапсуляция

Применение инкапсуляции для сокрытия реализации
Запрет на использование закрытых данных и методов (ключевые слова: private, protected, internal)
Реализация с помощью ключевого слова: public
Использование интерфейса объекта для взаимодействия
Защита жизненно важных данных компонента
Взаимодействие с объектом через интерфейс
Сокрытие сложности реализации компонента

Абстракция

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