Mikä on OOP Abstract Class PHP:ssä?

Mika On Oop Abstract Class Php Ssa



Perusta 'olio-ohjelmointi' (OOP) paradigma on ajatus siitä 'esineitä' voi sisältää sekä koodia että dataa. Yksi olioohjelmoinnin pääkomponenteista (AVATA) sisään PHP , suosittu skriptikieli, on käyttö abstrakteja luokat . PHP:ssä an abstrakti luokka toimii mallina muiden luokkien luomiselle, koska sitä ei voi ilmentää yksinään. Tämä artikkeli käsittelee abstraktit luokat' määritelmä, toiminnallisuus ja käyttö PHP:n OOP:ssa.

Mikä on abstrakti luokka?

Ensinnäkin on tärkeää ymmärtää, mitä abstrakti luokka on mukana PHP . Luokan, jota ei voida ilmentää tai tehdä suoraan objektiksi, sanotaan olevan abstrakti . Sen sijaan muut luokat, jotka perivät siitä, käyttävät sitä perus- tai yläluokkana. Abstraktit luokat eivät tarjoa johdettujen luokkien erityistä toteutusta; pikemminkin ne kuvaavat rakennettaan ja käyttäytymistään. Tämä antaa johdetuille luokille mahdollisuuden säilyttää oma erottuva käyttäytymisensä samalla kun ne noudattavat abstraktin luokan tarjoamaa peruskehystä.

Osana PHP 's AVATA , abstrakteja luokat toimivat keinona määritellä peruskokoelma ominaisuuksia, jotka voidaan jakaa useille johdetuille luokille. Kehittäjät voivat tarjota mallin luokille, jotka perivät abstraktilta luokasta luomalla sen. Sen varmistamiseksi, että kaikki johdetut luokat noudattavat samaa käyttöliittymää, tämä suunnitelma toimii sopimuksena abstrakti luokka ja johdetut luokat. Toteutusspesifikaatiot jätetään kunkin alaluokan päätettäväksi, mutta tämä rajapinta määrittelee yhteiset menetelmät, joita tarvitaan kaikille alaluokille. Abstraktiin luokkaan tehdyt muutokset leviävät välittömästi kaikkiin sitä käyttäviin johdettuihin luokkiin, mikä mahdollistaa enemmän koodin uudelleenkäytön ja helpomman ylläpidon.







Kuinka abstraktit luokat toimivat PHP:ssä?

Kun 'abstrakti' avainsana käytetään luokan määrittämiseen, PHP:lle ilmoitetaan, että luokkaa ei voi ilmentää. Molemmat abstrakti ja ei-abstrakti menetelmät löytyvät kohdasta abstrakteja luokat . Abstrakti menetelmät määritellään 'abstrakti' avainsana eivätkä tarjoa toteutusta – ne yksinkertaisesti ilmoittavat menetelmän allekirjoituksen. Nämä abstraktit menetelmät on toteutettava johdetuilla luokilla, jotka ovat peräisin abstrakti luokka . Ei-abstrakti toisaalta menetelmät tarjoavat oletustoteutuksen, jonka johdetut luokat voivat ohittaa.



Katsotaanpa esimerkkiä:





abstrakti luokkaa Minä {

abstrakti toiminto Minusta ( $nimi , $ikä ) ;

}

luokkaa Johdanto ulottuu Minä {

toiminto Minusta ( $nimi , $ikä ) {

kaiku 'Nimeni on $nimi ja ikäni on $ikä ' ;

}

}

$a = Uusi Johdanto ( ) ;

$a -> Minusta ( 'Bob' , kaksikymmentäyksi ) ;

?>

Yllä olevassa koodissa abstrakti menetelmä in abstrakti vanhempi luokka 'Minulla' on kaksi argumenttia, 'nimi' ja 'ikä'. Lapsiluokka 'Intro' määrittelee myös saman funktion näillä kahdella argumentilla, ja johdantolause tulostetaan näytölle.





Lähtö



PHP:n abstraktien luokkien edut

1: Koodin uudelleenkäyttö

Abstrakti luokat PHP:ssä on suuri etu: niiden avulla voit käyttää koodia uudelleen. Määrittelemällä jaettua käyttäytymistä abstrakti luokka , voit välttää koodin toistamisen monissa eri alaluokissa. Tämä tekee koodin hallinnasta ja ylläpidosta yksinkertaisempaa. Abstrakti luokat auttaa myös sinua varmistamaan johdonmukaisuuden ja standardit kaikissa alaluokissasi.

2: Määritä abstraktit ominaisuudet

Sisään PHP , abstrakteissa luokissa on hyödyllinen ominaisuus nimeltä abstrakti ominaisuuksia. Näiden ominaisuuksien avulla voit asettaa tiettyjä vaatimuksia alaluokille. Jos esimerkiksi luot järjestelmää eläimille, voit asettaa abstraktin ominaisuuden nimeltä $nimi joka edellyttää, että jokaisella alaluokalla on nimiominaisuus. Tämä voi auttaa varmistamaan, että koodisi rakenne on johdonmukainen, ja helpottaa sen ymmärtämistä ja ylläpitoa.

Johtopäätös

Kyky suunnitella ominaisuuksia, jotka voidaan jakaa useille luokille, tekee abstrakteja luokat hyödyllinen kehittäjille. Tämä johtaa enemmän koodin uudelleenkäyttöön ja helpompaan ylläpitoon, koska kaikki abstraktiin luokkaan tehdyt muutokset vaikuttavat automaattisesti kaikkiin luokkiin, jotka perivät siitä. Oikein käytettynä, abstrakteja luokat voi merkittävästi parantaa koodin rakennetta ja organisointia olioprojektissa. On kuitenkin tärkeää käyttää niitä harkiten, koska niiden liiallinen käyttö voi johtaa liian monimutkaiseen ja vaikeasti ylläpidettävään koodiin.