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

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

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

Интерфейсы объявляются так же, как и обычные классы, но с использованием ключевого слова interface вместо class. Тела методов интерфейсов должны быть пустыми.

Все методы, определенные в интерфейсах должны быть общедоступными, что следует из самой природы интерфейса.

interface NameInterface{
 public function getName();
 public function setName();
}
class Book implements NameInterface{
  private $name;
  public function getName(){
    return $this->name;
  }
 public function setName($name){
  return $this->name = $name;
 }
}

Если нужно проверить, реализует ли класс конкретный интерфейс, можно воспользоваться функцией class_implements().

class Book implemets NameInterface{ }

$interface = class_implements('Book');
if(isset($interface['NameInterface'])){
 // Book реализует инрефейс NameINterface
}

Так же возможно воспользоваться классами Reflection:

class Book implemets NameInterface{ }
$rc = new ReflectionClass('Book');
if($rc->implementsInterface('NameInteface')){
  // Book реализует интерфейс
}

Количество комментариев: 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
Задание к курсовой работе
Задание к курсовой работе
Вопросы к экзамену