Crearea și utilizarea interfețelor în php

Crearea și utilizarea interfețelor

Interfețele sunt similare în multe privințe cu clasele abstracte. O interfață este un șablon care specifică comportamentul uneia sau mai multor clase.







Iată principalele diferențe dintre interfețe și clase abstracte:

  • Nici o metodă nu poate fi descrisă în interfață. Toate sunt abstracte. Într-o clasă abstractă, este posibil să nu existe metode abstracte.
  • Interfața nu poate conține metode numai pentru câmpuri.
  • Clasa implementează interfața, iar clasa moștenește sau prelungește o altă clasă.
  • O clasă poate implementa simultan mai multe interfețe. Aceeași clasă poate moșteni o altă clasă. Dar clasa copil poate avea doar o super-clasă (abstractă sau nu).

Ca și clasa abstractă, interfața declară mai multe metode care trebuie implementate în orice clasă pe care o implementează interfața. Sintaxa este:







funcția publică aMethod ();

funcția publică anotherMethod ();

Pentru a crea o clasă care implementează această interfață sau aceea, scrieți aceasta:

clasa MyClass implementează MyInterface

funcția publică aMethod ()

funcția publică anotherMethod ()

Interfețele sunt utile în cazurile în care doriți să creați mai multe clase care nu au legătură și care au funcționalități comune.

De exemplu, un forum web poate conține o clasă Membru pentru membrii forumului și o clasă Topic pentru subiectele create de membrii forumului. În ceea ce privește moștenirea, aceste clase nu vor depinde cel mai bine una de alta, deoarece îndeplinesc funcții complet diferite.

Cu toate acestea, să presupunem că trebuie să le scoatem și să scriem în baza de date atât obiectele din clasa Membru, cât și obiectele Topic. Pentru a face acest lucru vom crea o interfață Persistable, în care vor exista metode pentru stocarea obiectelor în baza de date și recuperarea acestora de acolo:

funcția publică salvați ();

funcția publică ();

funcția publică șterge ();

Acum, să creăm clasa Membru și să implementăm interfața Persistable pentru aceasta. Aceasta înseamnă că în interfață trebuie să existe metode save (), load () și delete ():

membru clasic implementează Persistable

funcția publică __construct ($ username, $ location, $ homepage)





Articole similare

Trimiteți-le prietenilor: