Интерфейс в PHP | Интерфейсы PHP ООП
Опубликовано: 2021-03-03Оглавление
Введение
PHP — это объектно-ориентированный язык, а интерфейс — одна из основных особенностей объектно-ориентированного языка программирования. Интерфейс позволяет кодировщикам объявлять функции, содержащие различные определения, в классе, реализующем этот интерфейс. Читайте дальше, чтобы понять интерфейс в PHP . Кроме того, просмотрите примеры интерфейса на PHP , представленные в статье, чтобы получить больше понимания.
Интерфейс в PHP
Интерфейс — это функция объектно-ориентированного программирования, которая позволяет создавать функции без реализации. Реализация должна быть включена в класс. Это помогает предотвратить сложность определения метода, поскольку каждый класс, наследующий интерфейс, может иметь различную реализацию в соответствии с необходимостью. Использование интерфейса в PHP аналогично классу, с той лишь разницей, что в функциях интерфейса нет реализации, а в интерфейсе нет переменных.
Особенности интерфейса в PHP
- Интерфейс не содержит кода.
- Интерфейс имеет объявление метода с аргументами или без них, но не определение.
- Класс, реализующий интерфейс, должен содержать определение всех методов, объявленных в интерфейсе.
- Класс может иметь реализацию нескольких интерфейсов.
- Интерфейс не может иметь неабстрактных методов.
Синтаксис интерфейса
Интерфейс должен быть объявлен перед использованием. Синтаксис интерфейса аналогичен синтаксису класса, с той лишь разницей, что ключевое слово interface используется вместо ключевого слова class при объявлении интерфейса. Ниже приведен синтаксис объявления интерфейса в PHP :
<?php
//Объявление интерфейса в PHP
Интерфейс <Имя интерфейса>
{
//Код
}
?>
Доступ к методам, объявленным внутри интерфейса, можно получить, унаследовав интерфейс по классу. Класс наследует интерфейс в PHP , используя ключевое слово Implements при объявлении класса.
Ниже приведен синтаксис для реализации интерфейса в PHP :
<?php
//Объявление класса
Класс <имя класса> реализует <имя интерфейса>
{
//Код
}
?>
Примеры интерфейса в PHP
Чтобы понять использование интерфейса, давайте взглянем на приведенный ниже пример:
<?php
//Объявление интерфейса
Интерфейс Пример_Форма
{
Публичная функция ShapeArea();
}
//Класс, наследующий интерфейс
Класс Shape1 реализует Example_Shape
{
Публичная функция ShapeArea()
{
Эхо 'Площадь круга';
}
}
//Класс, наследующий интерфейс
Класс Shape2 реализует Example_Shape
{
Публичная функция ShapeArea()
{
Эхо 'Площадь квадрата';
}
}
// Класс без использования интерфейса
Форма класса3
{
Публичная функция AreaCal()
{
Эхо 'Нет интерфейса';
}
}
$Obj1 = новая форма1; // Объект для class1
$Obj2 = новая форма2; // Объект для class2
$obj3 = новая форма3; // Объект для класса 3, не использующий интерфейс
Эхо $obj1->ShapeArea();
Эхо '<br>';
Эхо $obj2->ShapeArea();
Эхо '<br>';
Эхо $obj3->AreaCal();
?>
Выход
Площадь круга
Площадь квадрата
Нет интерфейса
Объяснение вывода
Класс Shape1 имеет определение функции, объявленной внутри интерфейса. Shape1 реализует интерфейс, поэтому имеет доступ к внутренней функции и печатает «Площадь круга». Аналогично объяснение для класса Shape2 и вывода «Площадь квадрата». Класс Shape3 не реализует интерфейс и работает как обычный класс в PHP.
Реализация нескольких интерфейсов
Класс также может реализовывать более одного интерфейса. В таких случаях класс должен иметь определение всех методов, объявленных во всех интерфейсах, которые реализует класс. Ниже приведена иллюстрация реализации более чем одного интерфейса в PHP .
<?php
// Объявление интерфейса
Пример интерфейса1
{
Публичная функция method1();
}
// Объявление другого интерфейса
Пример интерфейса2
{
Публичная функция method2();
}
//Класс, реализующий два объявленных выше интерфейса
класс class1 реализует пример1, пример2
{
// Определение метода интерфейса1
Метод публичной функции1
{
Эхо 'Внутренний интерфейс1, метод1';
}
//Определение метода interface2
Метод публичной функции2
{
Эхо 'Внутренний интерфейс2, метод2;
}
}
Obj1 = новый класс1;
Obj2 = новый класс2;
Объект1->метод1;
Объект2->метод2;
?>
Выход
Внутри интерфейса1 метод1
Внутри интерфейса2 метод2
Несколько замечаний о реализации нескольких интерфейсов
- Все методы, объявленные в интерфейсе, должны быть общедоступными.
- Функция не может иметь ключевое слово abstract.
- Если программист забудет определить какую-либо функцию интерфейса, код выдаст ошибку.
- Интерфейсы не могут содержать переменные.
Оформить заказ: концепции ООП в PHP
Разница между интерфейсом и абстрактным классом
Ниже приведены некоторые различия между интерфейсом и абстрактным классом:
- Интерфейс содержит только объявление, а абстрактный класс содержит и объявление метода, и его определение.
- Методы в интерфейсе могут быть только общедоступными, а методы в абстрактном классе могут быть объявлены как общедоступные, частные или защищенные.
- Один класс может реализовывать более одного интерфейса, а один класс может расширять только один абстрактный метод.
Заключение
Интерфейс в PHP — это функция, которая позволяет пользователям объявлять общедоступные методы без определения. В этой статье объясняется вся информация об интерфейсе с его синтаксисом и примерами. Мы надеемся, что информация, представленная в этой статье, поможет вам понять концепцию. Вы можете изучить похожие темы, основанные на PHP, в блогах upGrad. Для более глубокого понимания вы можете записаться на сертификационный онлайн-курс по PHP на upGrad. upGrad предлагает множество сертификационных курсов, которые могут помочь вам в вашей карьере и обучении.
Если вам интересно узнать больше о разработке программного обеспечения с полным стеком, ознакомьтесь с дипломом PG upGrad & IIIT-B по разработке программного обеспечения с полным стеком, который предназначен для работающих профессионалов и предлагает более 500 часов интенсивного обучения, более 9 проектов и задания, статус выпускника IIIT-B, практические практические проекты и помощь в трудоустройстве в ведущих фирмах.