Ano ang Pagkakaiba sa Pagitan ng Abstract Class at Interface sa PHP

Talaan ng mga Nilalaman:

Anonim

Ang pangunahing pagkakaiba sa pagitan ng Abstract Class at Interface sa PHP ay iyon abstract class ay maaaring binubuo ng mga abstract na pamamaraan at mga di-abstract na pamamaraan habang ang lahat ng mga pamamaraan sa isang interface ay walang pagpapatupad.

Ang PHP ay isang wika ng script sa panig ng server. Ito ay isa sa pinakatanyag na wika sa pag-unlad ng web. Pinapayagan ng PHP ang paghawak ng mga file, paghawak ng mga form, pagpapadala ng mga email, pag-upload ng mga file, pagkonekta ng isang application sa DBMS tulad ng MySQL at maraming iba pang mga gawain. Ang mga framework tulad ng Zend at Code Igniter ay batay sa PHP. Sinusuportahan din ng PHP ang Object oriented Programming (OOP). Ang isang pangunahing konsepto sa OOP ay ang abstraction. Nakakatulong ito upang itago ang mga pagpapatupad at ipakita lamang ang pag-andar sa gumagamit. Ang klase ng abstract at interface ay dalawang pamamaraan upang makamit ang abstraction.

Abstraction, Abstract Class, Interface, OOP, PHP

Ano ang Abstract Class sa PHP

Ang isang abstract na pamamaraan ay isang pamamaraan na walang pagpapatupad. Ang isang abstract na klase ay isang klase na mayroong hindi bababa sa isang abstract na pamamaraan. Maaari itong magkaroon ng mga abstract na pamamaraan pati na rin ang di-abstract na pamamaraan. Ang keyword na "abstract" ay ginagamit upang ideklara ang isang abstract na klase. Bukod dito, ang klase na nagpapalawak sa abstract na klase ay dapat magbigay ng mga pagpapatupad para sa mga abstract na pamamaraan sa klase na iyon. Ang mga programmer ay hindi maaaring lumikha ng mga bagay gamit ang isang abstract class, ngunit makakalikha sila ng isang object mula sa isang klase na nagpapalawak sa abstract class.

Larawan 1: Abstract na klase sa PHP

Sa imaheng nasa itaas, ang Hugis ay isang mahirap unawain na klase. Mayroon itong isang abstract na pamamaraan na tinatawag na draw at isang non-abstract na pamamaraan na tinatawag na display. Ang klase ng tatsulok ay nagpapahaba sa Hugis. Kaya, ang klase ng tatsulok ay nagbibigay ng pagpapatupad para sa draw ng abstract na pamamaraan. Sa linya 19, isang bagay ng Triangle ang nilikha. Sa linya 20, ang pamamaraan ng pagguhit ay tinatawag na gamit ang object na iyon. Samakatuwid, ang pamamaraan ng pagguhit ay nagpapatupad at ipinapakita nito ang "Triangle" sa console.

Ano ang Interface sa PHP

Ang lahat ng mga pamamaraan sa isang interface ay mga abstract na pamamaraan. Sa madaling salita, naglalaman lamang ito ng mga prototype ng pag-andar o pag-andar nang walang pagpapatupad. Hindi maaaring lumikha ang programmer ng mga bagay gamit ang isang interface. Ang isang interface ay idineklara gamit ang keyword na "interface". Kahit na ang mga pamamaraan sa isang interface ay abstract, hindi idedeklara ng programmer ang mga ito gamit ang abstract keyword. Sa halip, ang mga pamamaraang iyon ay dapat magkaroon ng saklaw ng kakayahang makita ng publiko. Ang isang klase na nagpapatupad ng isang interface ay dapat magbigay ng mga pagpapatupad para sa lahat ng mga abstract na pamamaraan.

Larawan 2: PHP program 1 na may isang interface

Sa program sa itaas, ang Shape ay isang interface. Mayroon itong pamamaraan na tinatawag na draw. Wala itong pagpapatupad. Ang klase ng Tatsulok ay nagpapalawak ng Hugis. Nagbibigay ang klase ng Triangle ng pagpapatupad para sa pamamaraan ng pagguhit. Sa linya 16, isang bagay ng bagay na Triangle ang nilikha. Sa linya 17, ang paraan ng pagguhit ay tinatawag na gamit ang object na iyon. Samakatuwid, ang pamamaraan ng pagguhit ay nagpapatupad at ipinapakita ang "Triangle" sa console.

Bukod dito, makakatulong din ang mga interface upang magpatupad ng maraming mana. Ang maramihang pamana ay ang proseso ng pagpapahintulot sa isang klase na gumamit ng mga katangian at pamamaraan ng maraming klase.

Larawan 3: PHP program na may mga interface

Ang Interface A ay may paraan ng pamamaraanA. Katulad nito, ang interface B ay may pamamaraan na pamamaraanB. Ang mga pamamaraang ito ay mga prototype ng pag-andar. Sa madaling salita, ang mga pamamaraang ito ay walang anumang pagpapatupad. Nagpapatupad ang Class Test ng interface A at B. Samakatuwid, ang klase na iyon ay nagbibigay ng pagpapatupad para sa pamamaraanA at pamamaraanB. Ang Class Test ay mayroon ding sariling pamamaraan na tinatawag na methodTest. Ang linya 26, ay lumilikha ng isang bagay ng Pagsubok. Pagkatapos ang pamamaraanA, pamamaraan, at pamamaraanTest ay tinatawag na gamit ang object na iyon.

Pagkakaiba sa Pagitan ng Abstract Class at Interface sa PHP

Kahulugan

Ang isang mahirap unawain na klase sa PHP ay isang klase na idineklara na may isang abstract na keyword at isang koleksyon ng mga abstract at di-abstract na pamamaraan. Sa kaibahan, ang isang interface sa PHP ay isang uri ng sanggunian at binubuo ng isang koleksyon ng mga pamamaraan na walang pagpapatupad o pag-andar ng mga prototype. Kaya, ito ang pangunahing pagkakaiba sa pagitan ng Abstract Class at Interface sa PHP.

Paraan

Ang isang abstract na klase ay maaaring magkaroon ng mga abstract na pamamaraan pati na rin ang mga hindi abstract na pamamaraan habang ang lahat ng mga pamamaraan sa isang interface ay pamamaraan na walang pagpapatupad.

Keyword

Habang ang isang abstract na klase ay idineklara ng keyword na "abstract", ang isang interface ay idineklara ng keyword na "interface".

Paggamit

Ang isa pang pagkakaiba sa pagitan ng Abstract Class at Interface sa PHP ay ang isang abstract class na tumutulong upang makamit ang abstraction habang ang isang interface ay tumutulong upang makamit ang abstraction pati na rin ang maraming mana.

Konklusyon

Sinusuportahan ng wikang PHP ang Object oriented Programming. Ang abstraction ay isang haligi ng OOP. Ang mga klase ng abstract at interface ay dalawang pamamaraan ng pagkamit ng abstraction. Ang pangunahing pagkakaiba sa pagitan ng Abstract Class at Interface sa PHP ay ang abstract class ay maaaring binubuo ng mga abstract na pamamaraan at mga hindi abstract na pamamaraan habang ang lahat ng mga pamamaraan sa isang interface ay walang pagpapatupad.

Mga Sanggunian:

1. "Mga Klase na Abstract sa PHP." GeeksforGeeks, 11 Dis. 2018, Magagamit dito. 2. "Maramihang Mana sa PHP." GeeksforGeeks, 21 Peb. 2019, Magagamit dito.

Ano ang Pagkakaiba sa Pagitan ng Abstract Class at Interface sa PHP