Kaj je abstraktni razred OOP v PHP?

Kaj Je Abstraktni Razred Oop V Php



Osnova za 'objektno usmerjeno programiranje' (OOP) paradigma je pojem, da “predmeti” lahko vsebuje kodo in podatke. Ena glavnih komponent objektno orientiranega programiranja (ODPRTO) v PHP , priljubljenega skriptnega jezika, je uporaba abstraktni razredi . V PHP je an abstraktni razred služi kot model za ustvarjanje drugih razredov, ker ga samega ni mogoče instancirati. Ta članek obravnava abstraktni razredi' definicija, funkcionalnost in uporaba v OOP PHP.

Kaj je abstraktni razred?

Najprej je pomembno razumeti, kaj abstraktni razred je v PHP . Razred, ki ga ni mogoče instancirati ali narediti neposredno v objekt, se imenuje povzetek . Namesto tega ga drugi razredi, ki ga podedujejo, uporabljajo kot osnovni ali nadrejeni razred. Abstraktni razredi ne zagotavljajo specifične implementacije izpeljanih razredov; namesto tega orišejo njihovo strukturo in vedenje. To omogoča izpeljanim razredom, da ohranijo svoje značilno vedenje, medtem ko se še vedno držijo temeljnega okvira, ki ga zagotavlja abstraktni razred.

Kot del PHP 's ODPRTO , abstraktni razredi služijo kot sredstvo za definiranje osnovne zbirke značilnosti, ki si jih lahko deli več izpeljanih razredov. Razvijalci lahko zagotovijo predlogo za razrede, ki bodo podedovali abstraktni razred, tako da ga ustvarijo. Za zagotovitev skladnosti vseh izpeljanih razredov z istim vmesnikom ta načrt služi kot pogodba med abstraktni razred in izpeljani razredi. Specifične izvedbe so prepuščene vsakemu podrazredu, vendar ta vmesnik določa skupne metode, ki so potrebne za vse podrazrede. Spremembe abstraktnega razreda se bodo takoj razširile na vse izpeljane razrede, ki ga uporabljajo, kar bo omogočilo več ponovne uporabe kode in lažje vzdrževanje.







Kako delujejo abstraktni razredi v PHP?

Ko 'abstraktna' ključna beseda se uporablja za definiranje razreda, je PHP obveščen, da razreda ni mogoče instancirati. Oboje povzetek in neabstraktno metode najdete v abstraktni razredi . Povzetek metode so opredeljene z 'abstraktno' ključno besedo in ne zagotavljajo implementacije – preprosto deklarirajo podpis metode. Te abstraktne metode morajo implementirati izpeljani razredi, ki izhajajo iz abstraktni razred . Neabstraktno metode pa na drugi strani zagotavljajo privzeto izvedbo, ki jo lahko izpeljani razredi preglasijo.



Poglejmo primer:





povzetek razred jaz {

povzetek funkcijo O meni ( $name , $starost ) ;

}

razred uvod se razteza jaz {

funkcijo O meni ( $name , $starost ) {

odmev 'Ime mi je $name in moja starost je $starost ' ;

}

}

$a = novo uvod ( ) ;

$a -> O meni ( 'Bob' , enaindvajset ) ;

?>

V zgornji kodi je abstraktna metoda v abstraktni nadrejeni razred 'Jaz' ima dva argumenta, 'ime' in 'starost'. Podrejeni razred 'Intro' prav tako definira isto funkcijo s tema dvema argumentoma, uvodni stavek pa je natisnjen na zaslonu.





Izhod



Prednosti abstraktnih razredov v PHP

1: Ponovna uporabnost kode

Abstraktni razredi v PHP imajo veliko prednost: omogočajo vam ponovno uporabo kode. Z opredelitvijo skupnega vedenja v an abstraktni razred , se lahko izognete ponavljanju kode v številnih različnih podrazredih. To poenostavi upravljanje in vzdrževanje kode. Abstraktni razredi prav tako vam pomaga uveljaviti doslednost in standarde v vseh vaših podrazredih.

2: Definirajte abstraktne lastnosti

notri PHP , imajo abstraktni razredi uporabno funkcijo, imenovano povzetek lastnosti. Te lastnosti vam omogočajo, da nastavite določene zahteve za podrazrede. Na primer, če ustvarjate sistem za živali, lahko nastavite abstraktno lastnost, imenovano $name ki zahteva, da ima vsak podrazred lastnost imena. To lahko pomaga zagotoviti, da ima vaša koda konsistentno strukturo in jo poenostaviti za razumevanje in vzdrževanje.

Zaključek

Zmožnost oblikovanja nabora funkcij, ki si jih lahko deli več razredov, naredi abstraktni razredi uporaben za razvijalce. To vodi do večje ponovne uporabe kode in lažjega vzdrževanja, saj vse spremembe abstraktnega razreda samodejno vplivajo na vse razrede, ki od njega podedujejo. Ob pravilni uporabi, abstraktni razredi lahko bistveno izboljša strukturo in organizacijo kode v objektno usmerjenem projektu. Vendar je pomembno, da jih uporabljate preudarno, saj lahko prekomerna uporaba povzroči preveč zapleteno kodo, ki jo je težko vzdrževati.