Реферат Курсовая Конспект
НАСЛЕДОВАНИЕ. Интерфейсы - раздел Программирование, Язык программирования Java Наследование. Интерфейсы. Модель Наследования В Языке Java Существенно Отлича...
|
НАСЛЕДОВАНИЕ. Интерфейсы. Модель наследования в языке Java существенно отличается от модели C . Во-первых, в Java нет множественного наследования.
Таким образом, для каждого дочернего класса может быть только один базовый класс. При необходимости, однако, этот дочерний класс может реализовывать произвольное количество интерфейсов. Для ссылки на методы базового класса вы должны использовать ключевое слово super. При необходимости можно вызвать в первой исполняемой строке конструктора дочернего класса конструктор базового класса опять же с помощью ключевого слова super. Во-вторых, в языке предусмотрены средства для запрета дальнейшего наследования ключевое слово final перед определением класса. В-третьих, в языке Java присутствует новое по отношению к C понятие интерфейса.
Интерфейсы создаются при помощи ключевого слова interface таким же образом, что и классы. Однако в отличие от последних, интерфейсы являются аналогом абстрактных базовых классов без полей данных и предназначены только для определений набора методов для решения каких-либо задач, например, добавления компонент в контейнеры, организации списков, сортировки и так далее.
Можно создать свой класс на базе другого класса, указав при этом с помощью ключевого слова implements, что он реализует тот или иной интерфейс. При этом наряду с методами базового класса в созданном таким образом классе будут доступны методы, определенные в интерфейсе. public interface Verbose public void drawOn Graphics g public void printOn OutputStream os public class Star extends Polygon implements Verbose public void drawOn Graphics g Конкретная реализация отрисовки public void printOn OutputStream os Конкретная реализация печати public class Text extends StringBuffer implements Verbose public void drawOn Graphics g Конкретная реализация отрисовки public void printOn OutputStream os Конкретная реализация печати public class Blackboard extends Canvas public void drawVerbose Verbose d Graphics g getGraphics d.drawOn g Интерфейс представляет собой набор описаний методов.
Этот пример был описан только что. Интерфейс Verbose содержит два метода. Первый предназначен для рисования в графическом контексте, второй - для распечатки в выходной поток.
Класс Star представляет собой подкласс многоугольников Polygon. Помимо прочего, мы хотим рисовать объекты этого класса на доске Blackboard и выводить их описание в файл. Для объектов класса Text мы хотим иметь возможность начертать текст на доске и выводить его в файл. Класс Blackboard - наследник класса Canvas, специально предназначенного для рисования.
Как мы видим, этот класс с помощью единственного метода справляется с рисованием объектов, не имеющих общего предка кроме класса Object. Таким образом, с помощью интерфейсов можно компенсировать отсутствие множественного наследования. В контексте наследования интерфейс можно рассматривать как абстрактный класс, не содержащий данных.
– Конец работы –
Эта тема принадлежит разделу:
И тем не менее, уже довольно длительная история развития персональных компьютеров не знала ничего, подобного феномену Java. Что изменилось в мире в… Он стал доступен миллионам людей, далеких от технических проблем. Число пользователей Интернет по порядку величины уже не отличается от числа пользователей персональных компьютеров и…
Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: НАСЛЕДОВАНИЕ. Интерфейсы
Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:
Твитнуть |
Новости и инфо для студентов