Interfejs w PHP | Interfejsy PHP OOP
Opublikowany: 2021-03-03Spis treści
Wstęp
PHP jest językiem zorientowanym obiektowo, a interfejs jest jedną z podstawowych cech języka programowania zorientowanego obiektowo. Interfejs umożliwia programistom deklarowanie funkcji zawierających różne definicje w klasie implementującej ten interfejs. Czytaj dalej, aby zrozumieć interfejs w PHP . Zapoznaj się również z przykładami interfejsów w PHP udostępnionymi w artykule, aby uzyskać więcej informacji.
Interfejs w PHP
Interfejs to funkcja programowania obiektowego, która umożliwia tworzenie funkcji bez implementacji. Implementacja musi być uwzględniona w klasie. Pomaga to zapobiec złożoności definicji metody, ponieważ każda klasa dziedzicząca interfejs może mieć inną implementację w zależności od potrzeb. Użycie interfejsu w PHP jest podobne do klasy, z tą różnicą, że implementacja nie jest obecna w funkcjach interfejsu, a interfejs nie ma zmiennych.
Funkcje interfejsu w PHP
- Interfejs nie zawiera kodu.
- Interfejs zawiera deklarację metody z argumentami lub bez, ale nie zawiera definicji.
- Klasa implementująca interfejs powinna zawierać definicję wszystkich metod zadeklarowanych w interfejsie.
- Klasa może mieć implementację wielu interfejsów.
- Interfejs nie może mieć metod nieabstrakcyjnych.
Składnia interfejsu
Interfejs musi zostać zadeklarowany przed użyciem. Składnia interfejsu jest podobna do składni klasy, z tą różnicą, że podczas deklarowania interfejsu słowo kluczowe interface jest używane zamiast słowa kluczowego class. Poniżej znajduje się składnia deklarowania interfejsu w PHP :
<?php
//Deklaracja interfejsu w PHP
Interfejs <Nazwa interfejsu>
{
//Kod
}
?>
Dostęp do metod zadeklarowanych wewnątrz interfejsu można uzyskać, dziedzicząc interfejs po klasie. Klasa dziedziczy interfejs w PHP przy użyciu słowa kluczowego implements podczas deklarowania klasy.
Poniżej znajduje się składnia implementacji interfejsu w PHP :
<?php
//Deklaracja klasy
Klasa <Nazwa Klasy> implementuje <Nazwa Interfejsu>
{
//Kod
}
?>
Przykłady interfejsów w PHP
Aby zrozumieć użycie interfejsu, spójrzmy na poniższy przykład:
<?php
//Deklarowanie interfejsu
Przykładowy kształt interfejsu
{
Funkcja publiczna ShapeArea();
}
//Klasa dziedzicząca interfejs
Klasa Shape1 implementuje Example_Shape
{
Funkcja publiczna ShapeArea()
{
Echo „Obszar koła”;
}
}
//Klasa dziedzicząca interfejs
Klasa Shape2 implementuje Example_Shape
{
Funkcja publiczna ShapeArea()
{
Echo „Obszar kwadratu”;
}
}
// Klasa bez użycia interfejsu
Kształt klasy3
{
Funkcja publiczna AreaCal()
{
Echo „Brak interfejsu”;
}
}
$Obj1 = nowy Kształt1; // Obiekt dla klasy 1
$Obj2 = nowy Kształt2; // Obiekt dla class2
$obj3 = nowy Kształt3; // Obiekt dla klasy 3, nie używający interfejsu
Echo $obj1->ShapeArea();
Echo '<br>';
Echo $obj2->ObszarKształtu();
Echo '<br>';
Echo $obj3->ObszarKal();
?>
Wyjście
Powierzchnia koła
Powierzchnia kwadratu
Brak interfejsu
Wyjaśnienie wyjścia
Klasa Shape1 posiada definicję funkcji zadeklarowanej wewnątrz interfejsu. Shape1 implementuje interfejs, dzięki czemu ma dostęp do funkcji w nim zawartej i drukuje „Powierzchnię okręgu”. Podobne jest wyjaśnienie dla klasy Shape2 i wyjścia „Powierzchnia kwadratu”. Klasa Shape3 nie implementuje interfejsu i działa jak zwykła klasa w PHP.
Implementacja wielu interfejsów
Klasa może również implementować więcej niż jeden interfejs. W takich przypadkach klasa musi mieć definicję wszystkich metod zadeklarowanych we wszystkich interfejsach, które implementuje klasa. Poniżej znajduje się ilustracja implementacji więcej niż jednego interfejsu w PHP .
<?php
// Deklaracja interfejsu
Przykład interfejsu1
{
Funkcja publiczna metoda1();
}
// Deklaracja innego interfejsu
Przykład interfejsu2
{
Funkcja publiczna metoda2();
}
//Klasa implementująca dwa interfejsy zadeklarowane powyżej
klasa klasa1 implementuje przykład1, przykład2
{
// Definicja metody interfejsu1
Metoda funkcji publicznej1
{
Echo „Wewnątrz interfejsu1 metoda1”;
}
//Definicja metody interface2
Metoda funkcji publicznej2
{
Echo 'Inside interface2 method2;
}
}
Obj1 = nowa klasa1;
Obj2 = nowa klasa2;
Obj1->metoda1;
Obj2->metoda2;
?>
Wyjście
Wewnątrz interfejsu1 metoda1
Wewnątrz interfejsu2 metoda2
Kilka punktów do zapamiętania na temat implementacji wielu interfejsów
- Wszystkie metody zadeklarowane w interfejsie powinny być publiczne.
- Funkcja nie może mieć słowa kluczowego abstract.
- Jeśli programista zapomni zdefiniować jakąkolwiek funkcję interfejsu, kod zgłosi błąd.
- Interfejsy nie mogą zawierać zmiennych.
Zamówienie: Koncepcje OOP w PHP
Różnica między interfejsem a klasą abstrakcyjną
Poniżej znajdują się niektóre różnice między interfejsem a klasą abstrakcyjną:
- Interfejs zawiera tylko deklarację, ale klasa abstrakcyjna zawiera zarówno deklarację metody, jak i jej definicję.
- Metody w interfejsie mogą być tylko publiczne, podczas gdy metody w klasie abstrakcyjnej mogą być deklarowane jako publiczne, prywatne lub chronione.
- Jedna klasa może implementować więcej niż jeden interfejs, podczas gdy jedna klasa może rozszerzać tylko jedną metodę abstrakcyjną.
Wniosek
Interfejs w PHP to funkcja, która umożliwia użytkownikom deklarowanie publicznych metod bez definicji. W tym artykule wyjaśniono wszystkie informacje o interfejsie wraz z jego składnią i przykładami. Mamy nadzieję, że informacje zawarte w tym artykule pomogą Ci zrozumieć tę koncepcję. Podobnych tematów opartych na PHP możesz nauczyć się na blogach upGrad. Aby uzyskać głębokie zrozumienie, możesz zapisać się na internetowy kurs certyfikacyjny dotyczący PHP w upGrad. upGrad oferuje wiele kursów certyfikacyjnych, które mogą pomóc w Twojej karierze i nauce.
Jeśli chcesz dowiedzieć się więcej o tworzeniu pełnego stosu oprogramowania, zapoznaj się z dyplomem PG upGrad i IIIT-B w zakresie pełnego tworzenia oprogramowania, który jest przeznaczony dla pracujących profesjonalistów i oferuje ponad 500 godzin rygorystycznych szkoleń, ponad 9 projektów i zadania, status absolwentów IIIT-B, praktyczne praktyczne projekty zwieńczenia i pomoc w pracy z najlepszymi firmami.