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