Концепции ООП

В основе С# лежит концепция объектно-ориентированного программирования (ООП). Практически, все в С# является объектом. Даже простейшая программа, «Hello world» полагается на принципы ООП. В ООП существует две ключевыми концепциями ООП: абст­ракция (abstraction) и инкапсуляция (encapsulation).

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

При абстрагировании важно включить в рассмотрение лишь те свойства, которыми обладает описываемый объект. Поведение объекта не должно выходить за пределы ожи­даемого.

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

Инкапсуляция — это процесс объединения данных и действий (методов) в единый элемент В ООП, а значит, и С#, такой единицей является объект.

Инкапсуляция — это механизм сокрытия переменных экземпляра и неважных мето­дов класса от других объектов. Открытыми являются лишь необходимые другим методы объекта класса.