Hva er OOP abstrakt klasse i PHP?

Hva Er Oop Abstrakt Klasse I Php



Grunnlaget for 'objektorientert programmering' (OOP) paradigme er forestillingen om at 'objekter' kan inneholde både kode og data. En av hovedkomponentene i objektorientert programmering (ÅPEN) i PHP , et populært skriptspråk, er bruken av abstrakte klasser . I PHP, en abstrakt klasse fungerer som en modell for opprettelsen av andre klasser fordi den ikke kan instansieres på egen hånd. Denne artikkelen diskuterer abstrakte klasser definisjon, funksjonalitet og bruk i PHPs OOP.

Hva er en abstrakt klasse?

Først er det viktig å forstå hva en abstrakt klasse er i PHP . En klasse som ikke kan instansieres, eller gjøres direkte til et objekt, sies å være abstrakt . I stedet bruker andre klasser som arver den som en base eller overordnet klasse. Abstrakte klasser ikke gi spesifikk implementering av de avledede klassene; snarere skisserer de deres struktur og oppførsel. Dette lar avledede klasser opprettholde sin egen særegne oppførsel mens de fortsatt holder seg til det grunnleggende rammeverket gitt av den abstrakte klassen.

Som en del av PHP 's ÅPEN , abstrakte klasser tjene som et middel til å definere en basissamling av egenskaper som kan deles av flere avledede klasser. Utviklere kan gi en mal for klasser som vil arve fra en abstrakt klasse ved å opprette den. For å sikre at alle avledede klasser samsvarer med det samme grensesnittet, fungerer denne planen som en kontrakt mellom abstrakt klasse og de avledede klassene. Implementeringsspesifikasjonene er overlatt til hver underklasse, men dette grensesnittet spesifiserer de vanlige metodene som er nødvendige for alle underklassene. Endringer som er gjort i den abstrakte klassen vil umiddelbart spre seg til alle avledede klasser som bruker den, noe som gir mulighet for mer gjenbruk av kode og enklere vedlikehold.







Hvordan fungerer abstrakte klasser i PHP?

Når «abstrakt» søkeord brukes til å definere en klasse, informeres PHP om at klassen ikke kan instansieres. Både abstrakt og ikke-abstrakt metoder finnes i abstrakte klasser . Abstrakt metoder er definert med 'abstrakt' nøkkelord og gir ikke en implementering – de erklærer ganske enkelt metodesignaturen. Disse abstrakte metodene må implementeres av avledede klasser som stammer fra abstrakt klasse . Ikke-abstrakt metoder, på den annen side, gir en standardimplementering som avledede klasser kan velge å overstyre.



La oss se på et eksempel:





abstrakt klasse Meg {

abstrakt funksjon Om meg ( $navn , $alder ) ;

}

klasse Intro strekker Meg {

funksjon Om meg ( $navn , $alder ) {

ekko 'Mitt navn er $navn og min alder er $alder ' ;

}

}

$a = ny Intro ( ) ;

$a -> Om meg ( 'Bob' , tjueen ) ;

?>

I koden ovenfor er det abstrakt metode i abstrakt foreldreklasse 'Meg' har to argumenter, 'navn' og 'alder'. Barneklassen 'Intro' definerer også den samme funksjonen med disse to argumentene, og introsetningen skrives ut på skjermen.





Produksjon



Fordeler med abstrakte klasser i PHP

1: Kode Gjenbrukbarhet

Abstrakte klasser i PHP har en stor fordel: de lar deg gjenbruke kode. Ved å definere delt atferd i en abstrakt klasse , kan du unngå å gjenta kode i mange forskjellige underklasser. Dette gjør det enklere å administrere og vedlikeholde koden din. Abstrakte klasser også hjelpe deg å håndheve konsistens og standarder på tvers av alle underklassene dine.

2: Definer abstrakte egenskaper

I PHP , har abstrakte klasser en nyttig funksjon kalt abstrakt egenskaper. Disse egenskapene lar deg stille visse krav til underklasser. Hvis du for eksempel lager et system for dyr, kan du angi en abstrakt egenskap kalt $navn som krever at hver underklasse har en navneegenskap. Dette kan bidra til å sikre at koden din har en konsistent struktur og gjøre den enklere å forstå og vedlikeholde.

Konklusjon

Muligheten til å designe et sett med funksjoner som kan deles av flere klasser abstrakte klasser nyttig for utviklere. Dette fører til mer kodegjenbruk og enklere vedlikehold siden eventuelle endringer i en abstrakt klasse automatisk påvirker alle klasser som arver fra den. Når det brukes riktig, abstrakte klasser kan forbedre strukturen og organiseringen av kode betydelig i et objektorientert prosjekt. Det er imidlertid viktig å bruke dem fornuftig siden overbruk av dem kan føre til altfor kompleks og vanskelig å vedlikeholde kode.