Mi az absztrakt osztály?
Először is fontos megérteni, hogy mi az absztrakt osztály van PHP . Azt az osztályt, amelyet nem lehet példányosítani vagy közvetlenül objektummá tenni, annak mondjuk absztrakt . Ehelyett a tőle öröklődő osztályok alap- vagy szülőosztályként használják. Absztrakt osztályok nem biztosítják a származtatott osztályok konkrét megvalósítását; hanem felvázolják felépítésüket és viselkedésüket. Ez lehetővé teszi a származtatott osztályok számára, hogy megtartsák saját jellegzetes viselkedésüket, miközben továbbra is ragaszkodnak az absztrakt osztály által biztosított alapvető kerethez.
Részeként PHP ‘s NYISD KI , absztrakt osztályok eszközként szolgálnak a több származtatott osztály által megosztható jellemzők alapgyűjteményének meghatározására. A fejlesztők létrehozhatnak egy sablont azokhoz az osztályokhoz, amelyek egy absztrakt osztálytól örökölnek. Annak biztosítására, hogy az összes származtatott osztály ugyanannak a felületnek feleljen meg, ez a tervezet szerződésként szolgál a absztrakt osztály és a származtatott osztályok. Az implementáció sajátosságait az egyes alosztályokra hagyjuk, de ez az interfész meghatározza azokat a közös metódusokat, amelyek minden alosztályhoz szükségesek. Az absztrakt osztályon végrehajtott változtatások azonnal átterjednek az összes származtatott osztályra, amely azt használja, lehetővé téve a több kód újrafelhasználását és a könnyebb karbantartást.
Hogyan működnek az absztrakt osztályok a PHP-ben?
Amikor az „absztrakt” kulcsszó osztály meghatározására szolgál, a PHP tájékoztatja, hogy az osztály nem példányosítható. Mindkét absztrakt és nem elvont módszerek találhatók absztrakt osztályok . Absztrakt metódusokat a 'absztrakt' kulcsszót, és nem biztosítanak megvalósítást – egyszerűen deklarálják a metódus aláírását. Ezeket az absztrakt metódusokat olyan származtatott osztályoknak kell megvalósítaniuk, amelyek a absztrakt osztály . Nem elvont A metódusok viszont olyan alapértelmezett megvalósítást biztosítanak, amelyet a származtatott osztályok felülbírálhatnak.
Nézzünk egy példát:
absztrakt osztály Nekem {
absztrakt funkció Rólam ( $név , $kor ) ;
}
osztály Intro kiterjed Nekem {
funkció Rólam ( $név , $kor ) {
visszhang 'A nevem $név a korom pedig az $kor ' ;
}
}
$a = új Intro ( ) ;
$a -> Rólam ( 'Bob' , huszonegy ) ;
?>
A fenti kódban a absztrakt módszer ban,-ben absztrakt szülő osztály Az „én”-nek két érve van: „név” és „életkor”. Az „Intro” gyermekosztály szintén ugyanazt a funkciót határozza meg ezzel a két argumentummal, és a bevezető utasítás a képernyőre kerül.
Kimenet
Az absztrakt osztályok előnyei PHP-ben
1: Kód újrafelhasználhatósága
Absztrakt osztályok A PHP-ben nagy előnyük van: lehetővé teszik a kód újrafelhasználását. A megosztott viselkedés meghatározásával egy absztrakt osztály , elkerülheti a kód ismétlődését számos különböző alosztályban. Ez egyszerűbbé teszi a kód kezelését és karbantartását. Absztrakt osztályok segít a következetesség és a szabványok érvényesítésében is az összes alosztályában.
2: Adja meg az absztrakt tulajdonságokat
Ban ben PHP , az absztrakt osztályoknak van egy hasznos funkciója, az úgynevezett absztrakt tulajdonságait. Ezek a tulajdonságok lehetővé teszik bizonyos követelmények beállítását az alosztályokra vonatkozóan. Például, ha rendszert hoz létre állatok számára, beállíthat egy absztrakt tulajdonságot, melynek neve $név Ez megköveteli, hogy minden alosztály rendelkezzen név tulajdonsággal. Ez segíthet abban, hogy a kód konzisztens szerkezetű legyen, és könnyebben megérthető és karbantartható.
Következtetés
Az a képesség, hogy több osztály számára is megosztható funkciókat tervezzünk absztrakt osztályok hasznos a fejlesztők számára. Ez több kód-újrafelhasználáshoz és egyszerűbb karbantartáshoz vezet, mivel az absztrakt osztályokon végzett változtatások automatikusan hatással vannak az abból öröklődő osztályokra. Helyes használat esetén absztrakt osztályok jelentősen javíthatja a kód szerkezetét és szervezését egy objektumorientált projektben. Fontos azonban, hogy megfontoltan használjuk őket, mivel túlzott használatuk túl bonyolult és nehezen karbantartható kódhoz vezethet.