Mis on OOP abstraktne klass PHP-s?

Mis On Oop Abstraktne Klass Php S



Vundament 'Objektorienteeritud programmeerimine' (OOP) paradigma on arusaam, et 'objektid' võib sisaldada nii koodi kui ka andmeid. Üks objektorienteeritud programmeerimise põhikomponente (AVATUD) sisse PHP , populaarne skriptikeel, on kasutusel abstraktsed klassid . PHP-s on an abstraktne klass on eeskujuks teiste klasside loomisel, sest seda ei saa iseseisvalt instantseerida. See artikkel käsitleb abstraktsed klassid' määratlus, funktsionaalsus ja kasutamine PHP OOP-is.

Mis on abstraktne klass?

Esiteks on oluline mõista, mis on abstraktne klass on sees PHP . Väidetavalt on klass, mida ei saa instantseerida ega muuta otse objektiks abstraktne . Selle asemel kasutavad teised sellelt pärivad klassid seda baas- või ülemklassina. Abstraktsed klassid ei paku tuletatud klasside konkreetset rakendust; pigem kirjeldavad nad oma struktuuri ja käitumist. See võimaldab tuletatud klassidel säilitada oma eripärane käitumine, järgides samas abstraktse klassi pakutavat põhiraamistikku.

Osana PHP ‘s AVATUD , abstraktsed klassid toimivad vahendina põhitunnuste kogumi määratlemiseks, mida saab jagada mitmele tuletatud klassile. Arendajad saavad luua malli klasside jaoks, mis pärivad abstraktselt klassilt selle loomisega. Tagamaks, et kõik tuletatud klassid vastaksid samale liidesele, toimib see plaan lepinguna nende vahel abstraktne klass ja tuletatud klassid. Rakenduse spetsiifika on jäetud iga alamklassi enda otsustada, kuid see liides määrab kõigi alamklasside jaoks vajalikud ühised meetodid. Abstraktses klassis tehtud muudatused levivad koheselt kõikidesse tuletatud klassidesse, mis seda kasutavad, võimaldades rohkem koodi taaskasutada ja lihtsamat hooldust.







Kuidas abstraktsed klassid PHP-s töötavad?

Kui 'abstraktne' märksõna kasutatakse klassi määratlemiseks, teatatakse PHP-le, et klassi ei saa instantseerida. Mõlemad abstraktne ja mitteabstraktne meetodid leiate abstraktsed klassid . Abstraktne meetodid on määratletud 'abstraktne' märksõna ja ei paku rakendust – nad lihtsalt deklareerivad meetodi allkirja. Neid abstraktseid meetodeid peavad rakendama tuletatud klassid, mis tulenevad abstraktne klass . Mitteabstraktne meetodid aga pakuvad vaikerakendust, mille tuletatud klassid võivad alistada.



Vaatame näidet:





abstraktne klass Mina {

abstraktne funktsiooni Minust ( $nimi , $vanus ) ;

}

klass Sissejuhatus ulatub Mina {

funktsiooni Minust ( $nimi , $vanus ) {

kaja 'Minu nimi on $nimi ja minu vanus on $vanus ' ;

}

}

$a = uus Sissejuhatus ( ) ;

$a -> Minust ( 'Bob' , kakskümmend üks ) ;

?>

Ülaltoodud koodis on abstraktne meetod aastal abstraktne vanemklass 'Minul' on kaks argumenti, 'nimi' ja 'vanus'. Alamklass „Intro” määratleb ka nende kahe argumendiga sama funktsiooni ja sissejuhatav lause trükitakse ekraanile.





Väljund



Abstraktsete klasside eelised PHP-s

1: koodi korduvkasutatavus

Abstraktsed klassid PHP-s on suur eelis: need võimaldavad teil koodi uuesti kasutada. Määratledes jagatud käitumise abstraktne klass , saate vältida koodi kordamist paljudes erinevates alamklassides. See muudab koodi haldamise ja hooldamise lihtsamaks. Abstraktsed klassid Samuti aitab teil jõustada järjepidevust ja standardeid kõigis teie alamklassides.

2: Määratlege abstraktsed omadused

sisse PHP , on abstraktsetel klassidel kasulik funktsioon nimega abstraktne omadused. Need omadused võimaldavad seada alamklassidele teatud nõuded. Näiteks kui loote süsteemi loomadele, saate määrata abstraktse omaduse nimega $nimi mis nõuab, et igal alamklassil oleks nimiomadus. See võib aidata tagada, et teie koodi struktuur on järjepidev ning hõlbustada selle mõistmist ja hooldamist.

Järeldus

Võimalus kujundada funktsioonide komplekt, mida saavad jagada mitmed klassid abstraktsed klassid kasulik arendajatele. See toob kaasa rohkem koodi taaskasutamist ja lihtsamat hooldust, kuna kõik abstraktses klassis tehtud muudatused mõjutavad automaatselt kõiki klasse, mis sellest pärivad. Õige kasutamise korral abstraktsed klassid võib objektorienteeritud projektis oluliselt parandada koodi struktuuri ja korraldust. Siiski on oluline neid mõistlikult kasutada, kuna nende liigkasutamine võib põhjustada liiga keeruka ja raskesti hooldatava koodi.