Скачать презентацию Программирование на языках высокого уровня Интерфейсы в Java Скачать презентацию Программирование на языках высокого уровня Интерфейсы в Java

Тема 3 (Интерфейсы, пакеты).ppt

  • Количество слайдов: 11

Программирование на языках высокого уровня Интерфейсы в Java Программирование на языках высокого уровня Интерфейсы в Java

Понятие интерфейса n В Java у класса может быть только один непосредственный n n Понятие интерфейса n В Java у класса может быть только один непосредственный n n n класс-родитель (множественное наследование не поддерживается). С другой стороны, каждый класс может реализовывать любое количество интерфейсов. Интерфейс – подобие абстрактного класса, именованная совокупность методов без определения (тела) и статических полей. В интерфейсе указывается, что должен делать реализующий его класс, но не указывается, как. Класс реализует интерфейс, определяя все объявленные в интерфейсе методы. В результате объекты разных классов, реализующих один и тот же интерфейс обладают сходным поведением. Классы, реализующие один интерфейс могут быть как связаны иерархией наследования, так и совершенно не связаны, даже семантически.

Объявление интерфейса [public] interface Имя_интерфейса [extends Суперинтерфейс] n Если указан модификатор public – возможен Объявление интерфейса [public] interface Имя_интерфейса [extends Суперинтерфейс] n Если указан модификатор public – возможен доступ к интерфейсу из других пакетов, если нет – доступ возможен только из текущего пакета. n Модификатор abstract предполагается (и не указывается). n Тело интерфейса заключено в {} и содержит только объявления методов и констант (static final). n Объявленные методы по умолчанию public и abstract, объявление метода завершается точкой с запятой. n Объявленные поля по умолчанию public, static и final, они инициализируются при объявлении. n Обратиться к константе можно не реализуя интерфейс, используя его имя.

Реализация интерфейса [public] class [extends Суперкласс] [implements] Список_интерфейсов { … // реализация всех методов Реализация интерфейса [public] class [extends Суперкласс] [implements] Список_интерфейсов { … // реализация всех методов всех интерфейсов … } n Все методы всех интерфейсов, указанных после implements, должны быть реализованы либо в данном классе, либо в одном из суперклассов. n Сигнатура метода при реализации его в классе должна точно совпадать с сигнатурой метода, объявленного в интерфейсе. n Нельзя делать методы более закрытыми при реализации (то есть, все методы, полученные от интерфейса, должны быть public)

Использование интерфейса как типа данных n Невозможно создать объект интерфейса (как объект класса). n Использование интерфейса как типа данных n Невозможно создать объект интерфейса (как объект класса). n Но следующие конструкции допустимы : объявление переменной типа интерфейса, n явное и неявное преобразование объекта класса, реализующего интерфейс, к типу этого интерфейса, n использование типа интерфейса в качестве возвращаемого методом типа, n использование типа интерфейса в качестве типа параметра метода (передается и возвращается в двух последних случаях, разумеется, объект некоторого класса, реализующего интерфейс, приведенный к типу интерфейса. n Просмотрите пример Ext. And. Impl. java n

Частичная реализация n Если класс реализует интерфейс, но определяет (реализует) не все его методы, Частичная реализация n Если класс реализует интерфейс, но определяет (реализует) не все его методы, он должен быть объявлен как абстрактный. n Класс-наследник такого абстрактного класса должен быть либо тоже абстрактным, либо определить все не определенные ранее методы интерфейса. n Переопределение определенных в родительских классах методов интерфейсов допускается. n При вызове метода для некоторого объекта вызывается самая «нижняя» из доступных версий метода.

Примеры интерфейсов n Runnable n void run() n Comparable n public int compare. To(Object Примеры интерфейсов n Runnable n void run() n Comparable n public int compare. To(Object o) n Applet. Context n методы см. в документации

Программирование на языках высокого уровня Основные пакеты Java API Программирование на языках высокого уровня Основные пакеты Java API

Пакет java. lang n Импортируется по умолчанию в любую программу на java n Классы-оболочки Пакет java. lang n Импортируется по умолчанию в любую программу на java n Классы-оболочки простых числовых типов (Integer, Short, Long, Double, Float, Byte и их общий родитель абстрактный класс Number), для которых определены: n n n Оболочка простого типа char – Character. Оболочка простого типа bool – Boolean. Класс System –статических методов и переменные: n n n Константы (минимальное, максимальное число, нечисловой элемент и т. д. ). Методы сравнения. Методы преобразования в объекты других типов. Стандартные потоки ввода, вывода и вывода ошибок. Текущее время. Системные характеристики. Класс Object – суперкласс всех классов. Классы Math, String, и другие.

Пакет java. util n Коллекции – группы объектов. Предполагается высокоэффективная реализация метода доступа и Пакет java. util n Коллекции – группы объектов. Предполагается высокоэффективная реализация метода доступа и алгоритмов обработки элементов коллекций (алгоритмы определены в базовом классе Collections). n Разные коллекции работают сходным образом, реализуя интерфейс Collection и расширяющие его List, Set, Sorted. Set. n Имеются классы: Array. List или Vector (динамический массив), Linked. List (связанный список), Hash. Set (Хештаблица), Tree. Set (дерево) и другие. Карты отображений – группы пар вида «ключ – значение» . Компаратор (Comparator). Средства работы с календарем и датами, временем в различных форматах. Класс String. Tokenizer. Класс Random. n n n

Прочие пакеты n java. io n java. applet n java. awt n java. swing Прочие пакеты n java. io n java. applet n java. awt n java. swing n java. security n java. rmi n java. beans n java. math n java. net n java. sql