рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

НАСЛЕДОВАНИЕ. Интерфейсы

НАСЛЕДОВАНИЕ. Интерфейсы - раздел Программирование, Язык программирования 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

И тем не менее, уже довольно длительная история развития персональных компьютеров не знала ничего, подобного феномену Java. Что изменилось в мире в… Он стал доступен миллионам людей, далеких от технических проблем. Число пользователей Интернет по порядку величины уже не отличается от числа пользователей персональных компьютеров и…

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: НАСЛЕДОВАНИЕ. Интерфейсы

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Мобильность Java
Мобильность Java. Язык программирования С является мобильным. Это нужно понимать в том смысле, что имеется принципиальная возможность переноса программ C на различные платформы. Однак

ОБЪЕКТНАЯ МОДЕЛЬ ЯЗЫКА JAVA
ОБЪЕКТНАЯ МОДЕЛЬ ЯЗЫКА JAVA. Когда говорят об объектно-ориентированном языке программирования, предполагают поддержку трех механизмов инкапсуляция наследование полиморфизм. Инкапсуляция и наследова

ЖИЗНЕННЫЙ ЦИКЛ ОБЪЕКТА
ЖИЗНЕННЫЙ ЦИКЛ ОБЪЕКТА. Объекты создаются с помощью оператора new. Инициализация объекта производится с помощью соответствующего конструктора. Эти операции разделить нельзя - за new всегда с

Массивы в Java
Массивы в Java. В языке Java присутствуют массивы. Эти массивы типизированы. Декларация Point myPoints описывает переменную myPoints как массив объектов типа Point. Завести массив определенного раз

КЛАСС THREAD И ИНТЕРФЕЙС RUNNABLE
КЛАСС THREAD И ИНТЕРФЕЙС RUNNABLE. Поток thread представляет собой отдельный поток управления в пределах процесса. Таким образом, у каждого потока есть начало, последовательность действий, т

СРЕДСТВА СИНХРОНИЗАЦИИ ПОТОКОВ
СРЕДСТВА СИНХРОНИЗАЦИИ ПОТОКОВ. Как и во всякой многопроцессной или многопотоковой среде, в Java существует проблема синхронизации доступа к разделяемым ресурсам. Примером такого ресурса явл

Замещающие классы
Замещающие классы. Очень часто в наших приложениях вместо базовых типов переменных мы будем использовать объекты встроенных классов, которые называются замещающими классами wrapper classes. Ниже мы

Другие встроенные классы
Другие встроенные классы. Среди других встроенных классов отметим класс Math, предназначенный для выполнения математических операций, таких как вычисление синуса, косинуса и тангенса. Предус

Библиотека классов java.io
Библиотека классов java.io. В библиотеке классов java.io собраны классы, имеющие отношение к вводу и выводу данных через потоки. С использованием этих классов можно работать не только с пото

ТЕХНОЛОГИЧЕСКИЙ ЦИКЛ ОБРАБОТКИ JAVA-ПРОГРАММ
ТЕХНОЛОГИЧЕСКИЙ ЦИКЛ ОБРАБОТКИ JAVA-ПРОГРАММ. Технологический цикл подготовки, трансляции, редактирования внешних связей, тестирования, отладки и выполнения Java-программ тот же, что и для других и

СИСТЕМА КОМАНД JAVA-МАШИНЫ
СИСТЕМА КОМАНД JAVA-МАШИНЫ. проектировались таким образом, чтобы всячески способствовать компактификации кода. С другой стороны, формат команд Java-машины довольно прост обычно команды не имеют опе

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги