Раздел 1 Основы объектно-ориентированного программирования
Тема 1.1 Понятие объектно- ориентированного программирования Природа классов и объекта
-
Все языки объектно ориентированного программирования, включая C#, основаны на трёх основополагающих концепциях - полиморфизм, инкапсуляция, наследование
Основные принципы ООП: инкапсуляция, наследование, полиморфизм
-
Абстра́кция — в объектно-ориентированном программировании это придание объекту характеристик, которые отличают его от всех других объектов, четко определяя его концептуальные границы.
-
Основная идея состоит в том, чтобы отделить способ использования составных объектов данных от деталей их реализации в виде более простых объектов, подобно тому, как функциональная абстракция разделяет способ использования функции и деталей её реализации в терминах более примитивных функций, таким образом, данные обрабатываются функцией высокого уровня с помощью вызова функций низкого уровня. Такой подход является основой объектно-ориентированного программирования.
-
Это позволяет работать с объектами, не вдаваясь в особенности их реализации. В каждом конкретном случае применяется тот или иной подход: инкапсуляция, полиморфизм или наследование. Например, при необходимости обратиться к скрытым данным объекта, следует воспользоваться инкапсуляцией, создав, так называемую, функцию доступа или свойство. Абстракция данных — популярная и в общем неверно определяемая техника программирования. Фундаментальная идея состоит в разделении несущественных деталей реализации подпрограммы и характеристик существенных для корректного ее использования.
-
Такое разделение может быть выражено через специальный «интерфейс», сосредотачивающий описание всех возможных применений программы[1]. С точки зрения теории множеств, процесс представляет собой организацию для группы подмножеств своего множества. См. также Закон обратного отношения между содержанием и объемом понятия.
Инкапсуля́ция
-
Инкапсуля́ция — свойство языка программирования, позволяющее пользователю не задумываться о сложности реализации используемого программного компонента (что у него внутри?), а взаимодействовать с ним посредством предоставляемого интерфейса (публичных методов и членов), а также объединить и защитить жизненно важные для компонента данные. При этом пользователю предоставляется только спецификация (интерфейс) объекта. Пользователь может взаимодействовать с объектом только через этот интерфейс. Реализуется с помощью ключевого слова: public.
Что такое инкапсуляция?
-
Инкапсуляция - сокрытие методов и свойств. В C# при инкапсуляции используются следующие модификаторы:
-
public - публичный (виден всем)
-
private - приватный (виден только объектам класса)
-
protected - защищенный (виден только объектам класса и наследуемым классам)
Что такое полиморфизм?
-
Полиморфизм означает "многоформенность". Несколько объектов с одним именем - имеют различную реализацию. Полиморфизм бывает статическим и динамическим.
Что такое наследование?
-
Наследование - свойство системы, позволяющее описать новый класс на основе уже существующего. Класс от которого производится наследование называется базовым или родительским. Новый класс - потомком или дочерним.