
- •[Атрибуты][модификаторы]struct имя_структуры [:список_интерфейсов] {тело_структуры}
- •Классы в c# [атрибуты][модификаторы]class имя_класса [:список_родителей] {тело_класса}
- •Индексаторы
- •Статические поля и методы класса
- •Наследование
- •Интерфейсы
- •Две стратегии реализации интерфейса
- •Преобразование к классу интерфейса
- •Проблемы множественного наследования
- •Коллизия имен
- •Ip1.Prop1("интерфейс iProps: свойство 1");
- •Ip1.Prop2("интерфейс 1 ", 88);
- •Ip2.Prop1("интерфейс iPropsOne: свойство1");
- •2. Наследование от общего предка
- •Обработка исключительных ситуаций
- •Блок finally
- •Завдання до лабораторної роботи
Блок finally
В блоке try могли быть заняты ресурсы - открыты файлы, захвачены некоторые устройства. Освобождение ресурсов, занятых try-блоком, выполняет finally-блок. Если он присутствует, он выполняется всегда, сразу же после завершения работы try-блока, как бы последний ни завершился.
Завдання до лабораторної роботи
Проработать примеры 1-6, данные в теоретических сведениях. Создать на их основе программы. Получить результаты работы программ и уметь их объяснить. Внести их в отчет с комментариями.
Для предложенной структуры данных разработать абстрактный класс и класс наследник. В классе реализовать несколько конструкторов. Создать методы, работающие с полями класса. Часть из них должны быть виртуальными. Добавить методы-свойства и индексаторы.
Разработать интерфейсные классы, добавляющие некоторые методы работы с объектами класса. Изучить причины возникновения коллизии имен и способы устранения.
Разработать классы исключительных ситуаций и применить их для обработки, возникающих исключений.
Написать демонстрационную программу.
Описания компонентных данных пользовательских классов:
1. СТУДЕНТ : ФИО, курс, пол, оценки.
2. СЛУЖАЩИЙ: имя, возраст, рабочий стаж, должности.
3. КАДРЫ: ФИО, номер цеха, разряд, специальности.
4. ИЗДЕЛИЕ: название, шифр, количество, комплектация.
5. ПЕЧАТНОЕ ИЗДАНИЕ: название, ФИО автора, стоимость, оглавление.
6. ЭКЗАМЕН: ФИО студента, дата, оценка, перечень вопросов.
7. АДРЕС: город, улица, номер дома, список жильцов.
8. ТОВАР: название, артикул, стоимость, даты (изготовление, срок реализации)
9. ЦЕХ: название, начальник, кол-во рабочих, перечень номенклатуры выпускаемых изделий.
10. ПЕРСОНА: ФИО, возраст, пол, список увлечений.
11. АВТОМОБИЛЬ: марка, мощность, стоимость, даты ремонта.
12. СТРАНА: название, форма правления, площадь, список областей.
13. ЖИВОТНОЕ: вид, класс, средний вес, места обитания.
14. КОРАБЛЬ: название, водоизмещение, тип, список категорий кают.
15. КАРТИНА: ФИО автора, название, жанр, список владельцев.
16. МУЗЕЙ: Название, адрес, ФИО директора, кол-во и названия залов.
17. КНИГА: Название, жанр, кол-во страниц, список авторов.
18. САМОЛЕТ: ФИО конструктора, марка, год выпуска, кол-во мест, список городов рейса.
Вопросы к защите лабораторной работы
К какой группе типов переменных относятся перечисления и структуры?
Описание перечисления и его назначение?
Числовые значения констант перечисления по умолчанию?
Использование перечислений в программах.
Описание структуры.
Роль конструктора в структуре?
Обращение к элементам структуры.
Упаковка и распаковка структуры.
Что такое класс? Для чего описываются классы?
Чем отличается класс от структуры?
Модификаторы доступа к полям и методам класса.
Модификаторы доступа к классам.
Что такое экземпляр класса? Как он создается в C#?
Для чего в классе определяется конструктор? Сколько может быть конструкторов в классе? Когда вызывается конструктор?
Как можно обратиться к полям и методам класса?
Методы-свойства класса. Назначение и описание.
Статические поля и методы класса. Назначение, описание и вызов статических методов.
Индексаторы. Назначение и описание.
Наследование в С#.
Изменение методов родителя в классе наследника.
Конструкторы при наследовании.
Описание абстрактных методов и классов.
Вложенные классы.
Интерфейсы. Назначение и описание.
Наследование в интерфейсах.
Реализация методов интерфейсов в классах.
Коллизия имен в интерфейсах.
Исключения. Обработка исключений в С#.
Создание классов исключений и генерация исключения.