русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Объектно-ориентированное программирование C# | Си Шарп

Определение класса на языке С#:

class класс {
тип переменная;

    тип метод(аргументы) {
программный код
}
}

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

  • инкапсуляция;
  • наследование;
  • полиморфизм.

Инкапсуляция - способность прятать детали реализации объектов от пользователей этих объектов. Инкапсуляция, с одной стороны, позволяет скрывать от пользователя объекта детали его внутренней реализации (принцип "черного ящика"), а, с другой стороны, используется для предотвращения неконтролируемого доступа к внутренним данным объекта.

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

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

Для реализации инкапсуляции в языке C# используются модификаторы доступа и свойства. Язык С# поддерживает следующие модификаторы доступа (модификаторы видимости):

  • public - поля, свойства и методы являются общедоступными.
  • private - поля, свойства и методы будут доступны только в классе, в котором они определены.
  • protected - поля, свойства и методы будут доступны как в классе, в котором они определены, так и в любом производном класса.
  • internal - поля, свойства и методы будут доступны во всех классах внутри сборки, в которой определен класс.

Для контроля доступа к полям класса в языке C# можно использовать свойства. Внутри класса свойство определяется в виде пары методов для присвоения значения свойств и для чтения значения свойства. Для пользователей объектов класса свойство представляется как поле класса. Синтаксис определения свойства класса:

тип свойство {
get {
return значение;
}
set {
поле=value;
}
}

Метод get используется для получения значения свойства. Метод set используется для изменения значения свойства. Внутри метода set новое значение свойства передается в виде переменной value. С помощью свойств можно проверить новое значение поля, прежде, чем изменить поле; выполнить дополнительные действия при изменении или чтении поля, представить для пользователя в виде поля информацию, которая на самом деле не является полем класса.

Для реализации классического наследования в языке C# используется следующий синтаксис:

class потомок: родитель {

}

Язык C# не поддерживает множественное наследование. Для вызова в конструкторе класса-потомка конструктора класса-родителя используется ключевое слово base:

class потомок: родитель {
потомок(аргументы):base(аргументы){
}
}

Также ключевое слово base используется для вызовов методов класса-родителя из переопределенных методов в классе-потомке. Язык C# также поддерживает наследование включением.

Для реализации полиморфизма, основанного на виртуальных методах, в языке C# используются ключевые слова virtual и override:

class родитель {
virtual метод(аргументы){
}
}

class потомок: родитель {
override метод(аргументы){
}
}

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

Просмотров: 8100

Вернуться в оглавление:Введение в разработку распределенных информационных систем




Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.