- •1. Объектная модель системы. Понятия объекта, класса. Атрибуты объектов. Операции и методы классов.
- •2. Основные принципы объектно – ориентированного программирования.
- •3. Достоинства ооп. Соотношение понятий объекта и класса.
- •4.Характеристика платформы Microsoft .Net. Структура среды выполнения .Net Framework.
- •5.Библиотека классов платформы net. Пространства имен . Net Framework.
- •7.Достоинства и недостатки технологической платформы Microsoft .Net.
- •12.Обработка исключительных ситуаций в программах на языке с#.
- •13.Понятие класса и синтаксис объявления класса в с#. Управление доступом к полям класса. Обращение к полю.
- •14.Функции - методы класса. Синтаксис описания, параметры методов, вызов. Ключевое слово this.
- •15.Способы передачи параметров методам классов. Выходные параметры методов.
- •16. Конструкторы класса. Синтаксис конструктора Параметры конструктора. Перегрузка конструкторов.
- •17.Методы-свойства классов языка с# и их применение при
- •18.Создание классов-контейнеров в языке c#. Индексаторы.
- •19.Производные классы. Наследование свойств как принцип ооп. Отношение «Быть»
- •21.Вложенные классы языка c# и их применение при программировании.
- •22.Виртуальные методы. Поддержка полиморфизма.
- •23.Абстрактные классы языка c# и их применение при
- •24.Класс System.Object Замещение методов класса System.Object.
- •27.Событийно-управляемое программирование. Последовательность обработки сообщения в среде Windows.
- •28.Шаблон приложения для Windows в среде Visual Studio .Net. Классы Form, Application. События компонентов.
- •29.Классы библиотеки fcl для работы с файлами и папками.
- •30.Классы библиотеки fcl для работы с графикой.
- •31.Язык uml, назначение, характеристика, версии языка. Процесс проектирования программного обеспечения с использованием uml.
- •32.Словарь языка uml. Группы диаграмм.
- •33.Диаграмма прецедентов языка uml. Отношения на диаграмме прецедентов. Цели создания диаграммы прецедентов.
- •34.Диаграмма классов языка uml. Отношения между классами.
- •36.Диаграмма активности языка uml., обозначения, примеры, рекомендации применения.
- •13.Особенности работы со ссылками в языке с#.
18.Создание классов-контейнеров в языке c#. Индексаторы.
Индексаторы – члены класса, которые
позволяют получить доступ к полям объекта способом доступа к массивам, то есть по индексу.
Синтаксис индексатора аналогичен синтаксису свойства:
[атрибуты] [спецификаторы] тип this [список параметров]
{
get { возврат значения элемента с указанными индексами}
set { присваивание значения элементу с указанными индексами }
}
19.Производные классы. Наследование свойств как принцип ооп. Отношение «Быть»
Важнейшим принципом объектно-ориентированного программирования является наследование. Под ним понимается возможность создавать новые определения классов на основе существующих. В сущности,
наследование позволяет вам расширять возможности, унаследованные от базового класса, в собственном производном классе.
Н
а вершине любой иерархии классов в .NET всегда находится базовый класс Object. Возможности этого класса вначале дополняются классом Shape. Это свойства, поля и методы, являющиеся общими для всех
геометрических фигур (shapes). Класс Ellipse, производный от Shape, дополняет возможности двух базовых классов своими собственными уникальными свойствами. Диаграмму, можно прочесть следующим образом: «Эллипс есть геометрическая фигура, которая есть объект». Когда классы связываются друг с другом отношениями наследования, это означает, что между ними устанавливаются отношения типа
«быть» (is-a). Такой тип отношений называется также классическим наследованием.
21.Вложенные классы языка c# и их применение при программировании.
Класс, описанный в теле другого класса, называется вложенным (nested) классом.
// внешний класс
public class MyClass
{
// Члены внешнего класса
……………………
//внутренний класс
public class MyNestedClass
{
// Члены внутреннего класса
……………………..
}
}
1.Вложенные классы могут объявляться и как private, и как public. Однако классы, которые объявлены в пространстве имен напрямую (то есть те классы, которые не вложены ни в
-33-
какой другой класс), не могут быть объявлены как private.
2.Вложенный класс имеет смысл использовать тогда, когда его экземпляр используется только в определенном классе.
3.Вложенные классы улучшают читаемость кода — если нас не интересует устройство основного класса, то разбирать работу вложенного класса нет необходимости.
22.Виртуальные методы. Поддержка полиморфизма.
К механизму виртуальных функций (virtual function) обращаются в тех случаях, когда в базовый класс необходимо поместить функцию, которая должна по-разному выполняться в производных классах. Виртуальные функции важны потому, что они используются для поддержки динамического полиморфизма.
Переопределение метода базового класса в производных
1. В базовом классе заголовок метод должен содержать служебное слово virtual.
2. В производных классах переопределяемые методы должны быть записаны со служебным словом override.
С помощью виртуальных методов реализуется один из основных принципов объектно-ориентированного программирования – полиморфизм. Это слово в переводе с греческого означает «много форм», что в данном случае означает «один вызов – много методов». Применение виртуальных методов обеспечивает гибкость и возможность расширения функциональности класса.