Interfejs w PHP | Interfejsy PHP OOP

Opublikowany: 2021-03-03

Spis 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.

Zostań programistą Full Stack

AKTUALIZACJA I DYPLOM PG IIIT-BANGALORE W ROZWOJU OPROGRAMOWANIA PEŁNEGO STOSOWANIA
UCZ SIĘ WIĘCEJ