Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Контрольная_работа_НикитинаДС

.docx
Скачиваний:
5
Добавлен:
15.06.2021
Размер:
23.37 Кб
Скачать

Контрольная работа

Никитина Дарья ПИН-31Д

1) Какие типы данных существуют в языке C#?

В языке C# реализованы следующие базовые типы данных:

  • Целые типы: sbyte, byte, short, ushort, int, uint, long, ulong.

  • Типы, в которых сохраняются данные с плавающей запятой (соответствуют вещественному типу): float, double, decimal.

  • Символьный тип: char.

  • Логический тип: bool.

  • Строчный тип: string.

  • Объекты: object.

2) Какой тип данных является базовым для всех типов языка C#?

Object – может хранить значение любого типа данных и занимает 4 байта на 32-разрядной платформе и 8 байт на 64-разрядной платформе.

3) Что такое интерфейс?

Интерфейс – инструмент реализации полиморфизма в C#. Он представляет собой набор методов (свойств, событий, индексаторов), реализацию которых должен обеспечить класс, который реализует интерфейс. Интерфейс может содержать только сигнатуры (имя и типы параметров) своих членов. Интерфейс не может содержать конструкторы, поля, константы, статические члены. Создавать объекты интерфейса невозможно.

4) Как реализуется множественное наследование в C#?

Множественное наследование – это когда один класс сразу наследуется от нескольких классов. Но бывает так, что базовые классы содержат методы с одинаковыми именами, в результате чего возникают определенные неточности и ошибки. В C# класс может реализовать сразу несколько интерфейсов.

5) Что такое делегат? Что такое событие?

delegate — это класс, содержащий в себе «шаблон» метода, то есть, сигнатуру метода. Переменная делегатного типа — объект, который может содержать один или несколько объектов, представляющих собой методы с совместимой с «шаблоном» сигнатурой. То есть это как бы переменная, которая может содержать функции. Для таких переменных определена операция +, которая комбинирует слагаемые-функции в одну новую функцию, и симметричная операция -. Эти операции автоматически порождают производные операции += и -=.

event  — это просто пара методов в классе, обозначаемых как add и remove, и имеющих произвольную семантику, выбранную программистом. (Аналог — геттер и сеттер свойства.) В имплементации по умолчанию для event'а заводится скрытое поле делегатного типа, а add/remove добавляют или убирают из него методы (под lock'ом). (Чтобы немного запутать картину, это скрытое поле доступно по тому же имени, что и event.) Функции add/remove, составляющие event, вызываются соответственно как += и -=. Никаких операций +/-, разумеется, нету.

6) Какой модификатор доступа запрещает наследование отдельных полей или методов класса?

Ключевое слово sealed может быть применено для методов и полей. Использование sealed для метода означает, что метод запрещено переопределять в унаследованных классах.

7) Какой тип исключений является базовым для остальных? Какие типы исключений вы знаете?

Базовым для всех типов исключений является тип Exception. Этот тип определяет ряд свойств, с помощью которых можно получить информацию об исключении.

  • InnerException: хранит информацию об исключении, которое послужило причиной текущего исключения;

  • Message: хранит сообщение об исключении, текст ошибки;

  • Source: хранит имя объекта или сборки, которое вызвало исключение;

  • StackTrace: возвращает строковое представление стека вызовов, которые привели к возникновению исключения;

  • TargetSite: возвращает метод, в котором и было вызвано исключение.