- •1. Объектно-ориентированное программирование как идеология программирования и как технология. Достоинства и недостатки
- •2.Основные понятия объектно-ориентированного программирования — класс, объект, поле, метод, свойство.
- •4.Конструкторы и деструкторы. Функциональное назначение. Виды конструкторов.
- •5.Объекты и их жизненный цикл. Создание и уничтожение объектов.
- •6.Инкапсуляция. Определение. Функциональное назначение. Реализация. Примеры применения
- •7 Инкапсуляция. Свойства. Функциональное назначение. Реализация. Создание индексатора. Примеры применения.
- •8.Инкапсуляция. Скрытие членов класса. Функциональное назначение. Реализация. Примеры применения.
- •9.Наследование. Функциональное назначение. Реализация. Примеры применения.
- •10.Наследование. Конструктор по умолчанию. Назначение.
- •11. Методы. Определение. Функциональное назначение. Способы реализации. Примеры применения.
- •12.Полиморфизм. Функциональное назначение. Способы реализации. Примеры применения.
- •13.Перегрузка методов. Функциональное назначение. Способ реализации. Примеры применения.
- •14.Виртуальные методы. Функциональное назначение. Примеры применения.
- •15.Перегрузка операций. Функциональное назначение. Способ реализации. Примеры применения.
- •17.Исключительные ситуации. Понятие. Способы обработки исключительных ситуаций. Примеры применения.
- •18.Интерфейсы. Функциональное назначение. Иерархия интерфейсов. Множественное наследование: проблемы и способы их разрешения.
- •Концепция типа данных. Встроенные типы данных и их реализация в языке с#
- •2. Концепция типа данных. Соглашения о совместимости и приведение типов
- •4. Концепция типа данных. Символьные типы данных.
- •5. Концепция типа данных. Составные типы данных. Массивы и их реализация в с#. Структуры.
- •7. Концепция типа данных. Определение собственных типов данных.
- •8. Концепция типа данных. Значащие (размерные) (Value type) и ссылочные (Reference type) типы данных. Упаковка и распаковка (Boxing, Unboxing).
- •9. Концепция типа данных. Переменные и константы и их реализация в с#.
- •10. Принцип модульности программ. Глобальные и локальные имена. Область видимости имен. Выбор области видимости.
- •12. Унарные и мультипликативные операции. Примеры применений.
- •13. Аддитивные и сдвиговые операции. Примеры применений.
- •11. Принцип модульности программ. Метод, как отдельный модуль программы. Интерфейсная и скрытая часть метода. Формальные и фактические параметры метода. Примеры применения.
- •14. Операции отношения и действий над типами данных. Примеры применений.
- •15. Логические операции. Примеры применений.
- •17. Операторы перехода и оператор присваивания.
- •16. Организация циклов в с#. Примеры применений.
- •18. Операторы условного перехода. Примеры применений.
14. Операции отношения и действий над типами данных. Примеры применений.
< > <= >= is (проверка принадлежности типу) as (приведение к типу)
С помощью оператора is можно определить, имеет ли рассматриваемый объект заданный тип. Общая форма его записи имеет следующий вид: выражение is ТИП
Здесь тип элемента выражение сравнивается с элементом ТИП. ЕСЛИ ТИП элемента выражение совпадает (или совместим) с элементом ТИП, результат выполнения операции принимается равным значению ИСТИНА. В противном случае — значению ЛОЖЬ.
Демонстрация выполнения оператора is:
class A {} class В : A {}
class Usels {
public static void Main() {
A a = new A () ; В b = new В();
if (a is A) Console.WriteLine("Объект а имеет тип A.");
if(b is A) Console.WriteLine("Объект b совместим с типом А, " + "поскольку его тип выведен из типа А.");
if(a is В) Console.WriteLine("Этот текст не будет отображен, " + "поскольку объект а не выведен из класса В.")
if(b is В) Console.WriteLine("Объект b имеет тип В."); if(a is object) Console.WriteLine("а — это объект."); }}
Иногда во время работы программы требуется выполнить операцию приведения типов, не генерируя исключение в случае, если попытка окажется неудачной. Для этого предусмотрен оператор as, формат которого таков: выражение as тип
Используемый здесь элемент выражение участвует в попытке приведения его к типу, заданному элементом тип. В случае успешного выполнения этой операции возвращается ссылка на тип. В противном случае возвращается нулевая ссылка.
Демонстрация использования оператора as:
class A {} class В : A {}
class CheckCast {
public static void Main() {
A a = new A(); В b = new В() ;
b = a as В; // Выполняем операцию приведения типов, если она возможна.
if(b==null)
Console.WriteLine("Операция приведения типов " + "b = (В) а НЕ РАЗРЕШЕНА.");
else Console.WriteLine( "Операция приведения типов b = (В) а разрешена.");
15. Логические операции. Примеры применений.
Логическое И (&), логическое исключающее ИЛИ (^), логическое ИЛИ ( | ).
17. Операторы перехода и оператор присваивания.
Операторов перехода, позволяющих прервать естественный порядок выполнения операторов блока, в языке C# несколько. Оператор goto: goto метка;
Инструкция goto — это С#-инструкция безусловного перехода. При ее выполнении управление программой передается инструкции, указанной с помощью метки. Инструкция goto требует наличие в программе метки. Метка — это действительный в С# идентификатор, за которым поставлено двоеточие. Метка должна находиться в одном методе с инструкцией goto, которая ссылается на эту метку. Например, с помощью goto можно организовать следующий цикл на 100 итераций: х = 1; loopl: //метка loopl, после кот. есть двоеточие
if(x < 100) goto loopl;
Операторы break и continue
Оператор break может стоять в теле цикла или завершать case-ветвь в операторе switch. При выполнении оператора break в теле цикла завершается выполнение самого внутреннего цикла. В теле цикла, чаще всего, оператор break помещается в одну из ветвей оператора if, проверяющего условие преждевременного завершения цикла.
Оператор continue используется только в теле цикла. В отличие от оператора break, завершающего внутренний цикл, continue осуществляет переход к следующей итерации этого цикла.
Оператор return
Еще одним оператором, относящимся к группе операторов перехода, является оператор return, позволяющий завершить выполнение процедуры или функции. Его синтаксис:
return выражение;
Возможны две формы использования инструкции return: одна предназначена для void-методов (которые не возвращают значений), а другая — для возврата значений. Немедленное завершение void-метода организовывается с помощью инструкции return: return;
При выполнении этой инструкции управление программой передается автору вызова метода, а оставшийся код опускается. Например:
public void myMethO { int i ; for(i=0; i<10; i++)
if ( i == 5) return; // Прекращение выполнения метода при i = 5.
