Лабораторная работа 1 Классы в C по курсу Компонентные технологии программного обеспечения Цель раб
Работа добавлена на сайт samzan.net: 2015-07-05
Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Предоплата всего
от 25%
Подписываем
договор
Лабораторная работа № 1
Классы в C#
по курсу «Компонентные технологии программного обеспечения»
Цель работы
Изучить концепции описания классов в языке C#, которые не существуют в C++.
Порядок выполнения работы
- Реализуйте класс, удовлетворяющий следующим требованиям.
- Класс должен содержать минимум три поля различных элементарных типов данных.
- Напишите конструктор, инициализирующий все поля класса.
- Для каждого поля создайте соответствующее ему свойство доступное для чтения и записи. При записи значения в поле проверьте допустимость значения. Если значение является недопустимым, то сгенерируйте исключение типа ArgumentOutOfRangeException.
- Переопределите метод ToString(). Реализация этого метода должна преобразовать содержимое объекта класса в удобочитаемую строку.
- Реализуйте класс, который будет служить контейнером для класса, сознанного в п.1.
- Создать контейнер можно с использованием как обычного массива объектов так и с помощью стандартного класса контейнера.
- Класс контейнер должен реализовывать следующий интерфейс:
interface IContainer {
Object this[ int index ] {
get;
set;
}
}
Если при доступе к индексатору происходит обращение к несуществующему элементу, сгенерировать исключение IndexOutOfRangeException.
- Переопределите метод ToString(). Реализация этого метода должна преобразовать содержимое контейнера в строку, вызывая методы ToString() каждого из объектов, содержащихся в контейнере. Для реализации этого метода рекомендуется использовать класс System.Text.StringBuilder.
Каждый создаваемый класс или интерфейс должен находиться в отдельном *.cs файле вашего проекта. Имя файла должно совпадать с именем класса (интерфейса).
Создайте, несколько объектов класса и занесите их в объект класса контейнера. Распечатайте содержимое контейнера на экран с помощью ToString().
Содержание отчета
- Номер и название лабораторной работы, номер группы и ФИО студента.
- Цель работы.
- Постановка задачи.
- Краткие теоретические сведения о тех нововведениях описания классов языка C#, которые не существуют в C++.
- Текст программы и пример ее работы.
- Анализ результатов и выводы.
Контрольные вопросы
- Каковы преимущества языка C#?
- Что называется интерфейсом в языке C#? Для чего нужны интерфейсы?
- Каково назначение следующих модификаторов типов: abstract, sealed?
- Каково назначение следующих модификаторов методов: static, virtual, new, override, abstract, sealed?
- Каково назначение следующих модификаторов полей: static, readonly?
- Каково назначение следующих модификаторов доступа: public, private, protected, internal, protected internal?
- Что называется событием (event) в языке C#? Для чего нужны события?
- Что называется делегатами (delegate) в языке C#? Для чего нужны делегаты?
- Что называется и для чего используется конструктор типа?
- Каково назначение класса System.Object? Каково назначение открытых (Equals(), GetHashCode(), ToString(), GetType()) и защищенных(MemberwiseClone(), Finalize()) методов класса System.Object?
- Что такое элементарные типы языка C#? Каково назначение следующих типов: sbyte, byte, short, ushort, int, uint, long, ulong, char, float, double, bool, decimal, object, string?
- Каково назначение операторов is и as? Поясните работу этих операторов. Каково назначение класса InvalidCastException?
- Что такое checked и unchecked блоки? Как они работают и зачем они нужны?
- Каково назначение операторов explicit и implicit?
- Что такое размерные (value types) и ссылочные (reference types) типы?
- Что такое boxing и unboxing? Как работает boxing и unboxing?
Упражнения
- Приведите пример использования цикла foreach.
- Приведите пример использования конструкций throw, try-catch-finally.
- Приведите пример интерфейса для некоторого класса.
- Приведите пример использования события.
- Приведите пример использования делегата.
- Приведите пример использования операторов is и as.
- Приведите пример использования операторов explicit и implicit.
Литература
- Материалы лекций.
- MSDN.