🗊Презентация Исключительные ситуации

Нажмите для полного просмотра!
Исключительные ситуации, слайд №1Исключительные ситуации, слайд №2Исключительные ситуации, слайд №3Исключительные ситуации, слайд №4Исключительные ситуации, слайд №5Исключительные ситуации, слайд №6Исключительные ситуации, слайд №7Исключительные ситуации, слайд №8Исключительные ситуации, слайд №9Исключительные ситуации, слайд №10Исключительные ситуации, слайд №11Исключительные ситуации, слайд №12Исключительные ситуации, слайд №13Исключительные ситуации, слайд №14Исключительные ситуации, слайд №15Исключительные ситуации, слайд №16Исключительные ситуации, слайд №17Исключительные ситуации, слайд №18Исключительные ситуации, слайд №19Исключительные ситуации, слайд №20Исключительные ситуации, слайд №21Исключительные ситуации, слайд №22Исключительные ситуации, слайд №23Исключительные ситуации, слайд №24Исключительные ситуации, слайд №25Исключительные ситуации, слайд №26Исключительные ситуации, слайд №27Исключительные ситуации, слайд №28Исключительные ситуации, слайд №29Исключительные ситуации, слайд №30Исключительные ситуации, слайд №31Исключительные ситуации, слайд №32Исключительные ситуации, слайд №33Исключительные ситуации, слайд №34Исключительные ситуации, слайд №35Исключительные ситуации, слайд №36Исключительные ситуации, слайд №37Исключительные ситуации, слайд №38Исключительные ситуации, слайд №39Исключительные ситуации, слайд №40Исключительные ситуации, слайд №41Исключительные ситуации, слайд №42Исключительные ситуации, слайд №43Исключительные ситуации, слайд №44Исключительные ситуации, слайд №45Исключительные ситуации, слайд №46Исключительные ситуации, слайд №47Исключительные ситуации, слайд №48Исключительные ситуации, слайд №49Исключительные ситуации, слайд №50Исключительные ситуации, слайд №51Исключительные ситуации, слайд №52Исключительные ситуации, слайд №53Исключительные ситуации, слайд №54Исключительные ситуации, слайд №55Исключительные ситуации, слайд №56Исключительные ситуации, слайд №57Исключительные ситуации, слайд №58

Содержание

Вы можете ознакомиться и скачать презентацию на тему Исключительные ситуации. Доклад-сообщение содержит 58 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

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


Слайд 1





Исключительные ситуации
Описание слайда:
Исключительные ситуации

Слайд 2





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

Слайд 3





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

Слайд 4





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

Слайд 5





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

Слайд 6





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

Слайд 7





Поиск обработчика исключения
Описание слайда:
Поиск обработчика исключения

Слайд 8





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

Слайд 9





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

Слайд 10





Базовые классы исключений
Описание слайда:
Базовые классы исключений

Слайд 11





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

Слайд 12





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

Слайд 13





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

Слайд 14





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

Слайд 15





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

Слайд 16





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

Слайд 17





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

Слайд 18





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

Слайд 19





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

Слайд 20





Блок finally
Блок finally выполняется в любом случае:
При успешном выполнении try
При выбрасывании исключения
При передаче управления по break или return!
Блок finally необязателен
Если есть finally, блоки catch необязательны
Если присутствует, то выполняется после завершения работы остальных фрагментов кода try
Описание слайда:
Блок finally Блок finally выполняется в любом случае: При успешном выполнении try При выбрасывании исключения При передаче управления по break или return! Блок finally необязателен Если есть finally, блоки catch необязательны Если присутствует, то выполняется после завершения работы остальных фрагментов кода try

Слайд 21





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

Слайд 22





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

Слайд 23





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

Слайд 24





Преимущества от использования исключений
Единая логика обработки ошибок
Обработка ошибок на любом уровне
Выделение и обработка категорий ошибок
Разделение логики по обработке ошибок и бизнес-логики приложения
Необходимость обработки объявляемых исключений
Возможность действий по восстановлению
Описание слайда:
Преимущества от использования исключений Единая логика обработки ошибок Обработка ошибок на любом уровне Выделение и обработка категорий ошибок Разделение логики по обработке ошибок и бизнес-логики приложения Необходимость обработки объявляемых исключений Возможность действий по восстановлению

Слайд 25





Наследование
Описание слайда:
Наследование

Слайд 26





План лекции
Наследование классов и создание объектов дочерних классов
Переопределение методов
Сокрытие полей
Завершенные и абстрактные методы и классы
Описание и применение интерфейсов
Описание слайда:
План лекции Наследование классов и создание объектов дочерних классов Переопределение методов Сокрытие полей Завершенные и абстрактные методы и классы Описание и применение интерфейсов

Слайд 27





Наследование в Java
Виды наследования
Класс
 Расширяет класс и/или
 Реализует интерфейс(ы)
Интерфейс
 Расширяет интерфейс(ы)
Описание слайда:
Наследование в Java Виды наследования Класс Расширяет класс и/или Реализует интерфейс(ы) Интерфейс Расширяет интерфейс(ы)

Слайд 28





Расширение классов
Класс может расширить только один класс
Расширяющий класс называется производным (дочерним, подклассом)
Расширяемый класс называется базовым (родительским, суперклассом)
Описание слайда:
Расширение классов Класс может расширить только один класс Расширяющий класс называется производным (дочерним, подклассом) Расширяемый класс называется базовым (родительским, суперклассом)

Слайд 29





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

Слайд 30





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

Слайд 31





Забавный пример
Описание слайда:
Забавный пример

Слайд 32





И его результат
Описание слайда:
И его результат

Слайд 33





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

Слайд 34





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

Слайд 35





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

Слайд 36





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

Слайд 37





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

Слайд 38





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

Слайд 39





Давешний результат
Описание слайда:
Давешний результат

Слайд 40





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

Слайд 41





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

Слайд 42





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

Слайд 43





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

Слайд 44





Наследование
Практическое воплощение наследования
Наследование контракта или типа, в результате чего производный класс получает тип базового, поэтому может быть использован полиморфным образом
Наследование способов реализации, в результате производный класс приобретает функциональные характеристики базового в виде набора доступных полей и методов
Описание слайда:
Наследование Практическое воплощение наследования Наследование контракта или типа, в результате чего производный класс получает тип базового, поэтому может быть использован полиморфным образом Наследование способов реализации, в результате производный класс приобретает функциональные характеристики базового в виде набора доступных полей и методов

Слайд 45





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

Слайд 46





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

Слайд 47





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

Слайд 48





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

Слайд 49





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

Слайд 50





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

Слайд 51





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

Слайд 52





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

Слайд 53





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

Слайд 54





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

Слайд 55





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

Слайд 56





Пустые интерфейсы
Существуют пустые интерфейсы, объявления которых не содержат ни констант, ни методов
Реализация таких интерфейсов обычно означает способность объекта к чему-либо
Ссылка такого типа редко имеет смысл (т.к. внешний контракт пуст)
Даже такая ссылка позволяет выполнять методы объекта…
	а именно методы, объявленные в классе Object, поскольку они есть у абсолютно любого объекта
Описание слайда:
Пустые интерфейсы Существуют пустые интерфейсы, объявления которых не содержат ни констант, ни методов Реализация таких интерфейсов обычно означает способность объекта к чему-либо Ссылка такого типа редко имеет смысл (т.к. внешний контракт пуст) Даже такая ссылка позволяет выполнять методы объекта… а именно методы, объявленные в классе 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.
Описание слайда:
Дополнительные источники Арнолд, К. Язык программирования 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.



Похожие презентации
Mypresentation.ru
Загрузить презентацию