Hvad er OOP abstrakt klasse i PHP?

Hvad Er Oop Abstrakt Klasse I Php



Grundlaget for 'objektorienteret programmering' (OOP) paradigme er forestillingen om, at 'genstande' kan indeholde både kode og data. En af hovedkomponenterne i objektorienteret programmering (ÅBEN) i PHP , et populært scriptsprog, er brugen af abstrakte klasser . I PHP, en abstrakt klasse fungerer som en model for skabelsen af ​​andre klasser, fordi den ikke kan instansieres alene. Denne artikel diskuterer abstrakte klasser definition, funktionalitet og brug i PHPs OOP.

Hvad er en abstrakt klasse?

For det første er det vigtigt at forstå, hvad en abstrakt klasse er i PHP . En klasse, der ikke kan instansieres eller laves direkte til et objekt, siges at være abstrakt . I stedet bruger andre klasser, der arver fra det, det som en basis- eller overordnet klasse. Abstrakte klasser ikke give specifik implementering af de afledte klasser; snarere skitserer de deres struktur og adfærd. Dette gør det muligt for afledte klasser at bevare deres egen karakteristiske adfærd, mens de stadig overholder de grundlæggende rammer, som den abstrakte klasse giver.

Som en del af PHP ’s ÅBEN , abstrakte klasser tjene som et middel til at definere en basissamling af karakteristika, der kan deles af flere afledte klasser. Udviklere kan levere en skabelon til klasser, der vil arve fra en abstrakt klasse ved at oprette den. For at sikre, at alle afledte klasser er i overensstemmelse med den samme grænseflade, fungerer denne plan som en kontrakt mellem abstrakt klasse og de afledte klasser. Implementeringsspecifikationerne overlades til hver underklasse, men denne grænseflade specificerer de fælles metoder, der er nødvendige for alle underklasser. Ændringer i den abstrakte klasse spredes øjeblikkeligt til alle afledte klasser, der bruger den, hvilket giver mulighed for mere kodegenbrug og lettere vedligeholdelse.







Hvordan fungerer abstrakte klasser i PHP?

Når 'abstrakt' søgeord bruges til at definere en klasse, informeres PHP om, at klassen ikke kan instansieres. Begge abstrakt og ikke-abstrakt metoder kan findes i abstrakte klasser . Abstrakt metoder er defineret med 'abstrakt' nøgleord og giver ikke en implementering – de erklærer blot metodesignaturen. Disse abstrakte metoder skal implementeres af afledte klasser, der stammer fra abstrakt klasse . Ikke-abstrakt metoder, på den anden side, giver en standardimplementering, som afledte klasser kan vælge at tilsidesætte.



Lad os se på et eksempel:





abstrakt klasse Mig {

abstrakt fungere Om mig ( $navn , $alder ) ;

}

klasse Intro strækker sig Mig {

fungere Om mig ( $navn , $alder ) {

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

}

}

$a = ny Intro ( ) ;

$a -> Om mig ( 'Bob' , enogtyve ) ;

?>

I ovenstående kode er abstrakt metode i abstrakt forældreklasse 'Mig' har to argumenter, 'navn' og 'alder'. Child class 'Intro' definerer også den samme funktion med disse to argumenter, og intro-sætningen udskrives på skærmen.





Produktion



Fordele ved abstrakte klasser i PHP

1: Kode Genanvendelighed

Abstrakte klasser i PHP har en stor fordel: de giver dig mulighed for at genbruge kode. Ved at definere delt adfærd i en abstrakt klasse , kan du undgå at gentage kode i mange forskellige underklasser. Dette gør det nemmere at administrere og vedligeholde din kode. Abstrakte klasser hjælper dig også med at håndhæve konsistens og standarder på tværs af alle dine underklasser.

2: Definer abstrakte egenskaber

I PHP , abstrakte klasser har en nyttig funktion kaldet abstrakt ejendomme. Disse egenskaber giver dig mulighed for at sætte visse krav til underklasser. For eksempel, hvis du opretter et system til dyr, kan du indstille en abstrakt egenskab kaldet $navn der kræver, at hver underklasse har en navnegenskab. Dette kan hjælpe med at sikre, at din kode har en ensartet struktur og gøre den nemmere at forstå og vedligeholde.

Konklusion

Evnen til at designe et sæt funktioner, der kan deles af flere klasser abstrakte klasser nyttigt for udviklere. Dette fører til mere kodegenbrug og lettere vedligeholdelse, da enhver ændring af en abstrakt klasse automatisk påvirker alle klasser, der arver fra den. Når det bruges korrekt, abstrakte klasser kan forbedre strukturen og organiseringen af ​​kode markant i et objektorienteret projekt. Det er dog vigtigt at bruge dem fornuftigt, da overforbrug af dem kan føre til alt for kompleks og svær at vedligeholde kode.