Interfață în PHP | Interfețe PHP OOP

Publicat: 2021-03-03

Cuprins

Introducere

PHP este un limbaj orientat pe obiecte, iar o interfață este una dintre caracteristicile principale ale unui limbaj de programare orientat pe obiecte. Interfața permite codificatorilor să declare funcțiile care conțin diferitele definiții din clasa care implementează acea interfață. Citiți mai departe pentru a înțelege interfața în PHP . De asemenea, parcurgeți exemplele de interfață în PHP distribuite în articol pentru a înțelege mai bine.

Interfață în PHP

O interfață este o caracteristică în programarea orientată pe obiecte care permite crearea de funcții fără implementare. Implementarea trebuie inclusă în clasă. Ajută la prevenirea complexității definiției metodei, deoarece fiecare clasă care moștenește interfața poate avea o implementare diferită în funcție de nevoi. Utilizarea interfeței în PHP este similară cu clasa, cu singura diferență că implementarea nu este prezentă în funcțiile din interfață, iar interfața nu are variabile.

Caracteristicile unei interfețe în PHP

  • Interfața nu conține codul.
  • Interfața are declarația metodei cu sau fără argumente dar nu și definiția.
  • O clasă care implementează interfața ar trebui să conțină definiția tuturor metodelor declarate în interfață.
  • O clasă poate avea implementarea mai multor interfețe.
  • O interfață nu poate avea metode non-abstracte.

Sintaxa unei interfețe

Interfața trebuie să fie declarată înainte de utilizare. Sintaxa unei interfețe este similară cu cea a unei clase, singura diferență fiind că cuvântul cheie interfață este folosit în locul cuvântului cheie class în timp ce se declară interfața. Mai jos este sintaxa pentru declararea unei interfețe în PHP :

<?php

//Declarația interfeței în PHP

Interfață <Numele interfeței>

{

//Cod

}

?>

Metodele declarate în interiorul interfeței pot fi accesate prin moștenirea interfeței pe clasă. Clasa moștenește interfața în PHP folosind cuvântul cheie implements în timp ce declară clasa.

Mai jos este sintaxa pentru implementarea unei interfețe în PHP :

<?php

//Declarație de clasă

Clasa <Class Name> implementează <Interface Name>

{

//Cod

}

?>

Exemple de interfață în PHP

Pentru a înțelege modul de utilizare a interfeței, să aruncăm o privire la exemplul de mai jos:

<?php

//Declararea interfeței

Exemplu de interfață_Formă

{

Funcția publică ShapeArea();

}

//Clasa care moștenește interfața

Clasa Shape1 implementează Example_Shape

{

Funcție publică ShapeArea()

{

Echo „Zona cercului”;

}

}

//Clasa care moștenește interfața

Clasa Shape2 implementează Example_Shape

{

Funcție publică ShapeArea()

{

Echo „Zona pătratului”;

}

}

// Clasă fără a utiliza interfața

Forma clasei3

{

Funcția publică AreaCal()

{

Echo „Fără interfață”;

}

}

$Obj1 = noua Formă1; // Obiect pentru clasa 1

$Obj2 = noua formă2; // Obiect pentru clasa2

$obj3 = noua Formă3; // Obiect pentru clasa 3, care nu utilizează interfața

Echo $obj1->ShapeArea();

Ecoul „<br>”;

Echo $obj2->ShapeArea();

Ecoul „<br>”;

Echo $obj3->AreaCal();

?>

Ieșire

Aria cercului

Suprafața pătratului

Fără interfață

Explicația rezultatului

Clasa Shape1 are definiția unei funcții declarate în interiorul interfeței. Shape1 implementează interfața, prin urmare, are acces la funcția din interiorul acesteia și imprimă „Area cercului”. Similară este explicația pentru clasa Shape2 și rezultatul „Area pătratului”. Clasa Shape3 nu implementează interfața și funcționează ca o clasă obișnuită în PHP.

Implementarea interfețelor multiple

O clasă poate implementa și mai mult de o interfață. În astfel de cazuri, clasa trebuie să aibă definiția tuturor metodelor declarate în toate interfețele pe care clasa le implementează. Mai jos este ilustrarea implementării mai multor interfețe în PHP .

<?php

// Declarație de interfață

Exemplu de interfață 1

{

Metoda funcției publice1();

}

// Declarația altei interfețe

Exemplu de interfață 2

{

Metoda funcției publice2();

}

//Clasă care implementează cele două interfețe declarate mai sus

clasa class1 implementează example1, example2

{

// Definiția metodei de interfață1

Metoda funcției publice1

{

Echo 'Inside interface1 method1';

}

//Definiția metodei interfeței2

Metoda funcției publice2

{

Echo 'Inside interface2 method2;

}

}

Obj1 = noua clasa1;

Obj2 = noua clasa2;

Obj1->metod1;

Obj2->metod2;

?>

Ieșire

Interfața interfață1 metoda1

Interfața interfață2 metoda2

Câteva puncte de reținut despre implementarea interfețelor multiple

  • Toate metodele declarate în interfață ar trebui să fie publice.
  • Funcția nu poate avea cuvântul cheie abstract.
  • Dacă programatorul uită să definească orice funcție de interfață, codul va genera o eroare.
  • Interfețele nu pot conține variabile.

Checkout: Concepte OOPs în PHP

Diferența dintre o interfață și o clasă abstractă

Mai jos sunt câteva dintre diferențele dintre o interfață și o clasă abstractă:

  • O interfață conține doar declarația, dar o clasă abstractă conține atât declarația metodei, cât și definiția acesteia.
  • Metodele din interfață pot fi doar publice, în timp ce metodele din clasa abstractă pot fi declarate publice, private sau protejate.
  • O clasă poate implementa mai mult de o interfață, în timp ce o clasă poate extinde o singură metodă abstractă.

Concluzie

O interfață în PHP este o caracteristică care permite utilizatorilor să declare metode publice fără definiție. Acest articol a explicat toate informațiile despre interfață cu sintaxa și exemplele acesteia. Sperăm că informațiile împărtășite în acest articol vă vor fi utile în înțelegerea conceptului. Puteți afla subiecte similare bazate pe PHP pe blogurile upGrad. Pentru o înțelegere profundă, vă puteți înscrie la un curs de certificare online pe PHP la upGrad. upGrad oferă multe cursuri certificate care vă pot ajuta cu cariera și învățarea.

Dacă sunteți interesat să aflați mai multe despre dezvoltarea de software full-stack, consultați UpGrad & IIIT-B PG Diploma in Full-stack Software Development, care este conceput pentru profesioniști care lucrează și oferă peste 500 de ore de formare riguroasă, peste 9 proiecte și misiuni, statutul de absolvenți IIIT-B, proiecte practice practice și asistență pentru locuri de muncă cu firme de top.

Deveniți un dezvoltator Full Stack

UPGRAD ȘI DIPLOMA PG LUI IIIT-BANGALOR ÎN DEZVOLTARE DE SOFTWARE FULL STACK
AFLAȚI MAI MULTE