Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Н.Р. Бухараев (3 семестр)(ООП в интегрированной...doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
2.41 Mб
Скачать

Наследование интерфейса (компонентный подход)

-Могут ли разные интерфейсы обязывать реализовывать методы с одинаковыми именами?

Возникающая коллизия имён разрешается обычным образом с помощью точной нотации, явной ссылки на нужный интерфейс.

-Что является значением метода?

-С точки зрения логики - реализация (определение).

-С точки зрения реализации – ссылка на определение

Например, можно реализовать метод присваиванием ему имени, уже определённого к этому времени.

New_Method=Old_ Method- такое присваивание называется отображением или maping.

Наряду с агрегированием в качестве множественного наследования этот способ может трактоваться как определение наследования по умолчанию.

Обработка исключений в ооп

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

Пользователю даётся механизм порождения и обработки исключительных ситуаций.

Ошибка - это исключение из правил, выдача желаемого за действительное (вещь в программировании неизбежная по определению).

С формальной стороны, ошибку всегда можно трактовать как вычисление функции вне области определения.

Устойчивость - способность адекватно реагировать на исключительные ситуации (выход за границы области).

Любая процедура имеет два результата: желаемый и error.

P

P

X P(X)

Линия6

Линия4

error

Рассмотрим контекст операционной среды, в которой работает программа – машина-обработчик. Эта машина не делает ошибок (в идеале), все её функции всюду определены.

С точки зрения этой машины, наличие ошибочной ситуации – фиксация типа ошибки, выдача соответствующего сообщения и передача управления машине в качестве обработчика ошибок.

P

P

X P(X)

Линия1

Машина-обработчик (функции обработки исключений)

С другой стороны, сама программа есть входной аргумент для машины-обработчика (инструкция для неё).

Таким образом, можно расширить эти инструкции собственными операторами перехвата и обработки исключений.

Прагматика:

Когда этим пользоваться?

Использование обработчиков исключений, как и любых других событий, предполагает явно или неявно деление «клиент-сервер».

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

Определение и генерация исключений в c#

Синтаксис конструкции try- catch-finally:

try {... }

catch (T1 e1) {...}

...

catch(Tk ek)

{

...

}

finally

{...}

Ключевое слово try определяет охраняемый блок.

Вслед за try-блоком могут следовать catch-блоки.

Catch-блоки называются блоками-обработчиками исключительных ситуаций. Их может быть несколько (могут и отсутствовать).

finally-блок - блок завершения (финализации), который также может отсутствовать.

Вся эта конструкция может быть вложенной, т.е. в состав try-блока может входить конструкция try-catch-finally.