Презентация Объектно-ориентированное программирование. Исключительные ситуации и их обработка онлайн

На нашем сайте вы можете скачать и просмотреть онлайн доклад-презентацию на тему Объектно-ориентированное программирование. Исключительные ситуации и их обработка абсолютно бесплатно. Урок-презентация на эту тему содержит всего 58 слайдов. Все материалы созданы в программе PowerPoint и имеют формат ppt или же pptx. Материалы и темы для презентаций взяты из открытых источников и загружены их авторами, за качество и достоверность информации в них администрация сайта не отвечает, все права принадлежат их создателям. Если вы нашли то, что искали, отблагодарите авторов - поделитесь ссылкой в социальных сетях, а наш сайт добавьте в закладки.
Презентации » Устройства и комплектующие » Объектно-ориентированное программирование. Исключительные ситуации и их обработка



Оцените!
Оцените презентацию от 1 до 5 баллов!
  • Тип файла:
    ppt / pptx (powerpoint)
  • Всего слайдов:
    58 слайдов
  • Для класса:
    1,2,3,4,5,6,7,8,9,10,11
  • Размер файла:
    1.06 MB
  • Просмотров:
    75
  • Скачиваний:
    0
  • Автор:
    неизвестен



Слайды и текст к этой презентации:

№1 слайд
Исключительные ситуации и их
Содержание слайда: Исключительные ситуации и их обработка

№2 слайд
План лекции Возникновение
Содержание слайда: План лекции Возникновение ошибок и подходы к их обработке Механизм обработки исключений Классификация исключений Объявляемые исключения и их особенности Отлов исключений Выбрасывание исключений Создание типов исключений Отладка приложений

№3 слайд
Э Проблемы В процессе
Содержание слайда: Э… Проблемы В процессе выполнения программные приложения встречаются с ситуациями, приводящими к возникновению ошибок Ошибки бывают различной степени тяжести Ошибки необходимо каким-либо способом учитывать и обрабатывать Ошибки возникают в случае: некорректного ввода данных сбоев оборудования нарушения ограничений среды выполнения программного кода

№4 слайд
Обработка ошибок Обеспечение
Содержание слайда: Обработка ошибок Обеспечение стабильности и надежности работы программы Дружественное поведение конечного программного продукта Безопасность в процессе выполнения Удобство при написании программного кода

№5 слайд
Подходы к обработке ошибок
Содержание слайда: Подходы к обработке ошибок Возвращение методом кода ошибки Возвращается только код ошибки Используются «свободные» значения возвращаемого типа

№6 слайд
Механизм обработки Создается
Содержание слайда: Механизм обработки Создается и «выбрасывается» объект исключения, содержащий информацию об ошибке Выполнение текущего потока вычислений приостанавливается Завершается выполнение блоков и методов в цепочке вызовов, пока не будет найден код, отлавливающий исключение Выполнение потока вычислений возобновляется, причем выполняется код обработчика исключения

№7 слайд
Поиск обработчика исключения
Содержание слайда: Поиск обработчика исключения

№8 слайд
Классификация исключений
Содержание слайда: Классификация исключений Объявляемые (проверяемые/checked) Носят предсказуемый характер Указываются в объявлении метода Наследуют от класса Exception

№9 слайд
Классификация исключений
Содержание слайда: Классификация исключений Синхронные Непосредственный итог выполнения определенной инструкции Могут быть объявляемыми и необъявляемыми

№10 слайд
Базовые классы исключений
Содержание слайда: Базовые классы исключений

№11 слайд
Объявление исключений
Содержание слайда: Объявление исключений Сведения об исключениях метода не менее важны, чем тип возвращаемого им значения Они являются частью контракта операции и контракта класса Мораль: их надо обозначать в заголовке

№12 слайд
Особенности объявления
Содержание слайда: Особенности объявления исключений В списке должны присутствовать те объявляемые исключения, которые не обрабатываются в теле самого метода Метод вправе выбросить исключение типа, наследного от заявленного в throws Запрещено генерировать объявляемые исключения типов, не заявленных в throws

№13 слайд
Особенности объявления
Содержание слайда: Особенности объявления исключений Объявляются все объявляемые исключения, не обработанные в теле метода Статические блоки инициализации и инициализирующие выражения не могут выбрасывать исключения Нестатические блоки инициализации могут генерировать объявляемые исключения, только если их тип указан во всех throws всех конструкторов класса

№14 слайд
Вызов метода со списком
Содержание слайда: Вызов метода со списком исключений Варианты действий Отловить исключения и обработать их Отловить исключения и вместо них сгенерировать исключения типов, указанных в собственном предложении throws Объявить соответствующие исключения в предложении throws текущего метода и позволить им «пройти через код» вашего метода

№15 слайд
Важные замечания Каждое
Содержание слайда: Важные замечания Каждое исключение имеет как формальную причину возникновения, так и фактическую Исключение должно отлавливаться и обрабатываться на том уровне (по стеку, порядку вызова методов), где его: можно обработать; имеет смысл обрабатывать. Выбрасывание исключения – это реакция на нарушение внешнего контракта Обработка исключений не сводится к выводу сообщений в консоль и записи в журнал (logger)!

№16 слайд
Отлов исключений Особый
Содержание слайда: Отлов исключений Особый синтаксис описания обработчиков исключений Конструкция try/catch/finally

№17 слайд
Блок try Заключает в себе
Содержание слайда: Блок try Заключает в себе блок кода, выполняемый успешно при нормальных обстоятельствах Тело выполняется вплоть до: Момента возникновения исключительной ситуации Благополучного достижения конца блока Конкретный блок в процессе выполнения может выбросить только одно исключение

№18 слайд
Блок catch Внутренний метод с
Содержание слайда: Блок catch «Внутренний метод» с параметром типа исключения, которое им обрабатывается Способен: Выполнить некоторые восстановительные действия Выбросить собственное исключение Осуществить необходимые действия и передать управление последующим инструкциям Количество блоков catch не регламентировано

№19 слайд
Блок catch Предложения catch
Содержание слайда: Блок catch Предложения catch рассматриваются последовательно до обнаружения среди них того, тип которого допускает присвоение выброшенного исключения Использовать широкий тип (например, Exception) в качестве отлавливаемого – не лучшая мысль! Список предложений catch просматривается только один раз!

№20 слайд
Отлов исключений нескольких
Содержание слайда: Отлов исключений нескольких типов (Java 7) Нужные типы исключений разделяются вертикальной чертой | Блоков catch с таким синтаксисом может быть много В блоке catch можно использовать только общие методы указанных типов исключений Переменная, куда помещается ссылка на объект исключения, неявно приобретает модификатор final

№21 слайд
Отлов исключений нескольких
Содержание слайда: Отлов исключений нескольких типов (Java 7) Хотелось бы:

№22 слайд
Блок finally Блок finally
Содержание слайда: Блок finally Блок finally необязателен Если присутствует, то выполняется после завершения работы остальных фрагментов кода try Блок finally выполняется в любом случае: Успешное выполнение С выбрасыванием исключения С передачей управления по break или return

№23 слайд
Выбрасывание исключений
Содержание слайда: Выбрасывание исключений Объявляемые и необъявляемые исключения, выбрасываемые вызываемыми методами и операторами Явно (принудительно) выбрасываемые исключения

№24 слайд
Создание типов исключений
Содержание слайда: Создание типов исключений Создается новый тип, наследующий от более широкого типа, подходящего по смыслу (например, java.lang.IndexOutOfBoundsException) Само то, что выбрасывается исключение более узкого типа, несет в себе информацию В состав нового типа могут вводиться новые поля и методы Чаще всего класс содержит только 2 конструктора (по умолчанию и с параметром-строкой), просто вызывающие конструкторы родительского класса Современные среды разработки облегчают создание собственных классов исключений

№25 слайд
Отладка приложений
Содержание слайда: Отладка приложений

№26 слайд
Отладка приложений
Содержание слайда: Отладка приложений Собственные средства Добавление дополнительного кода Вывод данных на печать Вывод данных в системные журналы (logging) Создание дополнительных методов проверки

№27 слайд
Наследование и его особенности
Содержание слайда: Наследование и его особенности

№28 слайд
План лекции Виды наследования
Содержание слайда: План лекции Виды наследования Расширение классов Переопределение методов Сокрытие полей Завершенные и абстрактные методы и классы Интерфейсы и их описание Использование интерфейсов

№29 слайд
Наследование в Java Виды
Содержание слайда: Наследование в Java Виды наследования Класс Расширяет класс Реализует интерфейсы Интерфейс Расширяет интерфейсы

№30 слайд
Расширение классов Класс
Содержание слайда: Расширение классов Класс может расширить только один класс Если родительский класс не указан явно, родительским становится класс java.lang.Object

№31 слайд
Конструкторы дочерних классов
Содержание слайда: Конструкторы дочерних классов Вызываются для создания объектов дочерних классов Могут вызывать друг друга по ключевому слову this() В первой строчке должны вызывать конструкторы базового класса по ключевому слову super() Ключевое слово super() может не использоваться, только если в родительском классе существует конструктор по умолчанию

№32 слайд
Конструкторы дочерних
Содержание слайда: Конструкторы дочерних классов. Пример

№33 слайд
Порядок создания объекта
Содержание слайда: Порядок создания объекта Порядок вызова конструкторов: Вызов конструктора базового класса Присваивание исходных значений полям объекта посредством выполнения соответствующих выражений и блоков инициализации Выполнение инструкций в теле конструктора (конструкторов) Состояние объекта инициализируется «послойно» от Object до конкретного класса

№34 слайд
Забавный пример
Содержание слайда: Забавный пример

№35 слайд
И его результат
Содержание слайда: И его результат

№36 слайд
Совпадение имен методов в
Содержание слайда: Совпадение имен методов в родительском и дочернем классах Сигнатуры различны Перегрузка – добавляется метод с другими параметрами Сигнатуры совпадают Переопределение – замещение версии метода, объявленной в базовом классе, новой, с точно такой же сигнатурой

№37 слайд
Переопределение методов При
Содержание слайда: Переопределение методов При обращении извне объекта производного класса к его методу всегда вызывается новая версия метода Доступ к методу базового класса изнутри объекта дочернего класса может быть получен с помощью ключевого слова super Уровень доступа при переопределении не может сужаться Методы private не переопределяются

№38 слайд
Переопределение методов В
Содержание слайда: Переопределение методов В предложении throws дочернего метода не может быть типов исключений, не совместимых с типами в предложении throws родительского метода Переопределенный метод может быть снабжен модификатором abstract Признаки synchronized, native и strictfp могут изменяться произвольно

№39 слайд
Сокрытие полей Поля не
Содержание слайда: Сокрытие полей Поля не переопределяются, но скрываются Поле базового класса при сокрытии продолжает существовать, но недоступно непосредственно по имени Доступ можно получить с помощью ключевого слова super либо через ссылочную переменную родительского типа Имеет право на существование следующая конструкция: (VeryBaseClass) this

№40 слайд
Служебное слово super
Содержание слайда: Служебное слово super Действует как ссылка на текущий экземпляр по контракту базового класса Может быть использовано в теле любого нестатического члена класса Формы использования Вызов конструктора родительского класса super(...) Вызов метода родительского класса super.method(...) Обращение к полю родительского класса super.field

№41 слайд
Сокрытие статических членов
Содержание слайда: Сокрытие статических членов Статические члены не могут быть переопределены, они скрываются Обычно для доступа используется имя класса, поэтому проблем не возникает Если используется ссылка, то учитывается объявленный тип ссылки, а не фактический тип объекта

№42 слайд
Давешний результат
Содержание слайда: Давешний результат

№43 слайд
Замечание Важно понимать, что
Содержание слайда: Замечание Важно понимать, что: Переопределение методов – фундаментальный механизм, позволяющий изменить реализацию класса без изменения типа Сокрытие полей – последствие отсутствия ограничений на имена полей

№44 слайд
Завершенные методы и классы
Содержание слайда: Завершенные методы и классы Завершенный метод не допускает переопределения Завершенный класс не допускает расширения

№45 слайд
Абстрактные классы и методы
Содержание слайда: Абстрактные классы и методы Абстрактные методы описывают сигнатуру без реализации Класс с абстрактными методами обязан быть абстрактным Расширяющий класс может перекрыть своими абстрактными родительские реализованные методы Абстрактный класс не обязан иметь абстрактные методы Создавать объекты абстрактных типов нельзя!

№46 слайд
Понятие интерфейса Позволяет
Содержание слайда: Понятие интерфейса Позволяет описать тип в полностью абстрактной форме Экземпляры интерфейсов создавать нельзя Реализация классом интерфейса означает согласие класса на внешний контракт, описываемый реализуемым интерфейсом Классы способны реализовывать один или несколько интерфейсов

№47 слайд
Объявление интерфейсов Все
Содержание слайда: Объявление интерфейсов Все члены интерфейса по умолчанию обладают признаком public Применение других модификаторов редко имеет смысл Бывают пустые интерфейсы

№48 слайд
Константы в интерфейсах Имеют
Содержание слайда: Константы в интерфейсах Имеют неявные модификаторы public static final Должны быть снабжены инициализаторами

№49 слайд
Методы в интерфейсах Имеют
Содержание слайда: Методы в интерфейсах Имеют неявные модификаторы public abstract Не могут иметь модификаторов native synchronized strictfp static final

№50 слайд
Расширение интерфейсов
Содержание слайда: Расширение интерфейсов интерфейсами Допускается сокрытие констант Переопределение метода не несет семантической нагрузки Совпадение имен наследуемых методов не несет семантической нагрузки

№51 слайд
Реализация интерфейсов
Содержание слайда: Реализация интерфейсов классами Интерфейсы реализуются классами Класс может реализовывать несколько интерфейсов Если класс не реализует все методы «наследуемых» интерфейсов, он является абстрактным

№52 слайд
Интерфейс или абстрактный
Содержание слайда: Интерфейс или абстрактный класс? Интерфейсы обеспечивают инструментарий безопасного множественного наследования, производный класс способен наследовать одновременно несколько интерфейсов Класс может расширять единственный базовый класс, даже если тот содержит только абстрактные методы

№53 слайд
Интерфейс или абстрактный
Содержание слайда: Интерфейс или абстрактный класс? Абстрактный класс частично может быть реализован, он вправе содержать члены, помеченные как protected и/или static и т.п. Структура интерфейса ограничена объявлениями public-констант и public-методов без какой бы то ни было реализации

№54 слайд
Ссылки интерфейсных типов
Содержание слайда: Ссылки интерфейсных типов Допускаются ссылки интерфейсных типов Такая ссылка позволяет выполнять над объектом операции, описанные во внешнем контракте, обусловленном типом интерфейса Такое средство существенно расширяет возможности полиморфизма и полиморфного принципа открытости/закрытости

№55 слайд
Использование типов Ссылочные
Содержание слайда: Использование типов Ссылочные типы Неявное приведение Явное приведение

№56 слайд
Пустые интерфейсы Существуют
Содержание слайда: Пустые интерфейсы Существуют пустые интерфейсы, объявления которых не содержат ни констант, ни методов Реализация таких интерфейсов обычно означает способность объекта к чему-либо Ссылка такого типа редко имеет смысл (т.к. внешний контракт пуст) Даже такая ссылка позволяет выполнять методы объекта… а именно методы, объявленные в классе Object, поскольку они есть у абсолютно любого объекта

№57 слайд
Спасибо за внимание!
Содержание слайда: Спасибо за внимание!

№58 слайд
Дополнительные источники
Содержание слайда: Дополнительные источники Арнолд, К. Язык программирования Java [Текст] / Кен Арнолд, Джеймс Гослинг, Дэвид Холмс. – М. : Издательский дом «Вильямс», 2001. – 624 с. Вязовик, Н.А. Программирование на Java. Курс лекций [Текст] / Н.А. Вязовик. – М. : Интернет-университет информационных технологий, 2003. – 592 с. Хорстманн, К. Java 2. Библиотека профессионала. Том 1. Основы [Текст] / Кей Хорстманн, Гари Корнелл. – М. : Издательский дом «Вильямс», 2010 г. – 816 с. Эккель, Б. Философия Java [Текст] / Брюс Эккель. – СПб. : Питер, 2011. – 640 с. JavaSE at a Glance [Электронный ресурс]. – Режим доступа: http://www.oracle.com/technetwork/java/javase/overview/index.html, дата доступа: 21.10.2011. JavaSE APIs & Documentation [Электронный ресурс]. – Режим доступа: http://www.oracle.com/technetwork/java/javase/documentation/api-jsp-136079.html, дата доступа: 21.10.2011.

Скачать все slide презентации Объектно-ориентированное программирование. Исключительные ситуации и их обработка одним архивом: