Дисциплины - Объектно-ориентированное программирование

ООП в Java - Интерфейс

Интерфесы, в откличии от классов, содержат сигнатуры методов без описания и свойства-константы.

Все методы интерфейса являются public abstract, и эти модификаторы необязательны.

Все свойства интерфейса автоматически являются public final static, так что эти модификаторы указывать необязательно и даже нежелательно, чтобы не загромождать код. Это означает, что класс реализации не может изменять их значения. Кроме того, при объявлении переменных в интерфейсе их обязательно нужно инициализировать константными значениями.

Интерфейс

interface имя {
 тип_результата имя_метода1 (список параметров);
 тип имя_finall_переменной = значение;
}

Обратите внимание — у объявляемых в интерфейсе методов отсутствуют операторы тела. Объявление методов завершается символом «;» (точка с запятой). Рассмотрим пример определения интерфейса, содержащего единственный метод с именем callback и одним параметром типа int.

Определение интерфейса.

interface Callback {
 void callback(int param);
}

После определения интерфейса, мы можем создать класс, реализующий интерфейс. Для этого необходимо использовать оператор implements.

Реализация интерфейса

class Client implements Callback {
 void callback(int p) {
    System.out.println("callback вызван с " + p);
 }
}

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

Реализация множественного наследования:

interface A {
  int getValue();
}

interface B {
  double getDoubleValue();
}

 
public class Correct implements A, B // класс правильно наследует 
   int getValue()
   {
      return 5;
   }

   double getDoubleValue()
   {
      return 5.5;
   }
}

Интерфейс Java, подобно классам, могут наследоваться от другого интерфейса. Как и при расширении класса, используется ключевое слово extends.

interface Name1 extends Name2 {
 // тело интерфейса
}

Количество комментариев: 0

Для того, чтобы оставить коментарий необходимо зарегистрироваться
814301 БГУИР
814302 БГУИР
814303 БГУИР
894351 БГУИР
90421 БГУИР


Изображения Видео

1. Абстрактная фабрика https://www.youtube.com/watch?v=1mVONOCxfLg
2. Фабричный метод https://www.youtube.com/watch?v=5UqUDR6_2cY
3. Шаблон декоратор https://www.youtube.com/watch?v=Lwb9bm8yKD0
4. Dessign patterns on PHP https://github.com/domnikl/DesignPatternsPHP
5. Приёмы объектно-ориентированного проектирования. Паттерны проектирования Э. Гамма, Р. Хелм, Р. Джонсон, Д. Влиссидес; [пер. с англ.: А. Слинкин науч. ред.: Н. Шалаев]. — Санкт-Петербург [и др.] : Питер, 2014. — 366 с. : ил. ; 24 см.
6. Приемы объектно-ориентированного проектирования. Паттерны проектирования Э. Гамма, Р. Хелм, Р. Джонсон, Д. Влиссидес; [пер. с англ.: А. Слинкин науч. ред.: Н. Шалаев]. — Санкт-Петербург [и др.] : Питер, 2014. — 366 с. : ил. ; 24 см.
7. Ajax http://erud.by/ajax
8. Ajax http://erud.by/ajax
9. Ajax http://erud.by/ajax
10. Документация Laravel http://laravel.com
Задание к курсовой работе
Задание к курсовой работе
Вопросы к экзамену