Операторы в выражениях и операторы управления
В составе арифметических и логических операторов C# используются те же операторы, что и в С++. Однако, операторы отношений дают в результате вычислений значения булевского типа. операторы &, |, Ù для булевских типов данных трактуются, соответственно, как «И», «ИЛИ», «исключающее ИЛИ», а для целочисленных типов данных как поразрядные «И», «ИЛИ», «исключающее ИЛИ». Операторы && и || называются сокращенными «И» и «ИЛИ». Они прекращают вычисления как только 1-й из операндов определит результат выражения
Пример
if(d != 0 && (n%d)==0)
Console.WriteLine(d + “—множитель числа” + n);
Если d != 0 дает false, то 2-й операнд для операции «&&» не вычисляется.
C# содержит то-же набор операторов управления, что и язык С++. Однако, выполнением операторов циклов и ветвления управляет не числовое значение, а булевское. Так, например, «while(условие)инструкция» выполняется до тех пор, пока «условие» вычисляет значение true.
Оператор «foreach» предназначен для работы с элементами коллекций, рассматриваемых далее.
Классы, объекты, методы и наследование
Синтаксически декларации классов в С# выглядят точно так же как в языке С++. Наследование является простым, т.е. указывается только один базовый класс для производного класса. Спецификаторы доступа следующие: public, private, protected, internal. Смысл первых 3-х спецификаторов тот же, что и в С++, internal применяется в компоновочных файлах, рассматриваемых далее. Ключевое слово static используется для тех же целей что и в С++. Вместе с тем, создание объектов и управление ими отличается от того, что имеется в С++. Все объекты – представители классов создаются с применением оператора new. Оператор free не применяется, поскольку все объекты размещаются в heap-памяти и удаляются автоматически «сборщиком мусора».
Пример
Пусть уже декларирован класс Building. Тогда в каком-либо переменную этого класса можно инициализировать следующим образом:
Building house = new Building();
или
Building house;
house = new Building();
В С# реализуется простое наследование. Базовый класс указывается через двоеточие в декларации производного класса.
Пример
class Triangle : TwoShape // класс TwoShape - базовый
{……………………..}
Если из производного класса требуется вызов конструктора базового класса (например требуется инициализация private-атрибутов базового класса), то это делается следующим образом:
Конструктор-производного-класса(список-параметров) :
base(список-аргументов-для-конструктора базового класса)
{……………………………………………}
В список аргументов включаются некоторые элементы из списка параметров конструктора производного класса.
Дата добавления: 2016-05-26; просмотров: 1706;