На нашем сайте мы используем cookie для сбора информации технического характера и обрабатываем IP-адрес вашего местоположения. Продолжая использовать этот сайт, вы даете согласие на использование файлов cookies. Здесь вы можете узнать, как мы пользуемся файлами cookies.
Я согласен
логотип upread.ru

Объектно-ориентированное программирование в C#: кратко о ключевых концепциях и терминологии


По объектно-ориентированному программированию (ООП) написано немало статей, уроков, глав в книгах и даже целых учебников. Зачем же нужна еще одна статья? Все просто: в этой статье мы попытаемся вкратце рассмотреть некоторые ключевые концепции и терминологию ООП применительно к C#. Распишем максимально доступно даже для самого-самого начинающего, приведем аналогию и сравним с позиции ООП C и C#.

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

Если провести аналогию с автомобилем и водителем, то будет так. Один объект – авто, водитель – другой объект, интерфейс – рукоятка переключения передач, педали тормоза и акселератора, рулевое колесо. Водитель может быть настоящим профессионалом в своем деле, но может не знать, каким именно образом работают механизмы машины.

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

Программисты в языке C в основном занимаются написанием функций. Порядок работы в большинстве случаев таков: программа создается из функций, каждая из которых, в свою очередь, формируется из отдельных операций, выполняющих конкретные задачи. Не стоит умалять важность данных в языке C, но в основном они требуются именно для поддержки операций, которые выполняются функциями. Программисту в C оказывают помощь глаголы в документации системных требований (где описывается требования к программе); именно с их помощью конкретизируется набор функций для совместной работы программы.

А вот в C# дело обстоит по-другому: здесь программисты в основном занимаются тем, что создают классы – собственные, определяемые программистом типы. Во всех классах имеются данные и методы, с помощью которых и можно использовать их. Компоненты данных класса могут называться по-разному: наиболее употребительное слово поля, реже – переменные экземпляра, члены данных, члены экземпляров – это общеупотребительная терминология, а не термины C#.

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




тегистатьи IT, си шарп, ООП





Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.




Поля и методы в Java: сцепление экземпляров методов цепочкой
Node.js: что это такое, когда и как его использовать и почему


© upread.ru 2013-2019
При перепечатке активная ссылка на сайт обязательна.
Задать вопрос
письмо
Здравствуйте! Вы можете задать мне любой вопрос. Если не получается отправить сообщение через эту форму, то пишите на почу up777up@yandex.ru
Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.