Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OOP_Answers_new_v_1_5.doc
Скачиваний:
6
Добавлен:
05.08.2019
Размер:
107.52 Кб
Скачать
  1. Методы класса. Сигнатура метода. Абстрактные (abstract), виртуальные (virtual) и перезаписанные (override) методы. Статические (static) методы классов и особенности их применения. Полный.

Метод — процедура или функция, принадлежащая какому-либо классу (объекту).

Метод — процедура или функция (подпрограмма), управляющая данными, которые определены в классе. Они определяют действия, которые можно выполнять над объектом такого типа, и которые сам объект может выполнять. Может обеспечивать доступ к данным (как и свойство).

Сигнатура метода — это набор всей информации, необходимой для описания его вызова: имя, параметры и их типы.

Как и процедура в процедурном программировании, метод состоит из некоторого количества операторов для выполнения какого-то действия, имеет набор входных аргументов и возвращаемое значение.

Различают простые и статические методы (методы класса):

  • простые методы имеют доступ к данным объекта (конкретного экземпляра класса),

  • статические методы не имеют доступа к данным объекта и для их использования не нужно создавать экземпляры (данного класса).

Модификатор abstract указывает, что реализация изменяемого объекта является неполной или отсутствует. Модификатор abstract может использоваться с классами, методами, свойствами, индексаторами и событиями. Модификатор abstract в объявлении класса указывает, что класс предназначен только для использования в качестве базового класса для других классов. Члены, помеченные как абстрактные или включенные в абстрактный класс, должны быть реализованы с помощью классов, производных от абстрактных классов.

Ключевое слово virtual используется для изменения объявлений методов, свойств, индексаторов и событий и разрешения их переопределения в любом производном классе.

Модификатор override требуется для расширения или изменения абстрактной или виртуальной реализации унаследованного метода, свойства, индексатора или события.

  1. Перегрузка операций: понятие, назначение, примеры применения. Перегрузка арифметических и логических операций. Особенности перегрузки операции равенства (==).

  1. Полиморфизм: понятие, назначение, примеры применения. Суть принципа «один интерфейс – множество методов».

  1. Исключительные ситуации: понятие, назначение, примеры применения. Иерархия исключений. Создание (throw) и перехват (try-catch-finally) объектов-исключений. Способы реагирования на исключительные ситуации. Исключения, которые нельзя перехватить.

  1. Интерфейсы: понятие, назначение, примеры применения. Реализация интерфейсов. Приведение к интерфейсу. Коллизия имен при реализации двух и более интерфейсов. Назначение интерфейсов IComparable, IClonable, ISerializeable.

  1. Функциональный тип – делегаты: понятие, назначение, примеры применения. Функция, как экземпляр делегата. Делегат, как свойство класса. Неполный.

Делегат — шаблон, определяющий синтаксис оператора, который описывает метод.

Делегаты являются ссылками на методы, инкапсулирующими настоящие указатели и предоставляющими удобные сервисы для работы с ними. Ссылки представляют собой объекты соответствующего типа. Все делегаты являются объектами типа System.Delegate (или System.MulticastDelegate, который является производным от первого).

Делегаты позволяют без использования дополнительных механизмов присоединить к событию несколько функций обработчиков. Фактически, делегат представляет собой объект — черный ящик, скрывающий в своих недрах указатели на функции.