Polimorfizmust php

Az objektumorientált programozás, polimorfizmus egy erőteljes és alapvető eszköze. Ezt fel lehet használni, hogy hozzon létre több szerves struktúra alkalmazások. Ez a lecke bemutatja az általános koncepcióját polimorfizmus és annak alkalmazása a PHP.

Mi polimorfizmus?

Polimorfizmus - egy hosszú szó egy nagyon egyszerű fogalom.

Polimorfizmus leírja a minta objektumorientált programozási amelyben osztályok különböző funkciót, ha egy közös felület.

A szépség polimorfizmus, hogy tud dolgozni a kódot a különböző osztályok, és nem kell tudni, hogy milyen osztályban használják, mert ugyanazon a felületen.

Az analógia a polimorfizmus a világban - a gombot. Mindenki tudja, hogyan kell használni egy gomb - csak meg kell, hogy kattintson rá. De mi „teszi” gomb valójában függ a csatlakozások és használati kontextus. Ha valaki azt mondja, hogy meg kell nyomni a gombot, már tudjuk, hogy meg kell tennie, hogy megoldja a problémát.

A programozás világában, polimorfizmus létrehozásához használt moduláris szerkezetű A kérelmezési eljárás egyszerűsítése funkcionális bővítése. Nemcsak a zagyvalék feltételes kifejezések leírja a különböző lehetőségeket, akkor létre cserélhető tárgyak függően választjuk használat körülményei között. Ez az, amit a fő célja a használatát polimorfizmus.

interfészek

Szerves részét képezi a polimorfizmus - közös felület. Kétféle módon lehet meghatározni egy-egy interfész PHP: interfészek és absztrakt osztályok. Mindkét módszer a célnak, együtt is használható, vagy válasszon egyet, amely a legjobb, hogy az osztály hierarchia.

A felület által meghatározott kulcsszó „felület”:

és csatlakozik az osztály a kulcsszó „eszközök” (több interfész is használható meghatározza őket egymás után, vesszővel elválasztva):

A módszereket lehet meghatározni a felület, valamint egy osztály, de anélkül, hogy a funkció a test (rész közötti zárójelek):

Minden módszer meghatározott felületen kell végrehajtani az osztály megvalósítja az interfészt. Sőt, a módszerek nyilvánosnak kell lennie, és pontosan felel meg az a felület (lásd az alábbi példát)

Egy absztrakt osztály

Az absztrakt osztály egy olyan felület, és a keveréket a rendszeres osztályteremben. Meg tudja határozni a funkcionalitás, továbbá egy interfész (formájában absztrakt módszerek). Egy osztály, amely kiterjeszti egy absztrakt osztály tartalmaznia kell a végrehajtása során az absztrakt metódus absztrakt osztály.

Egy absztrakt osztály is meghatározható, mint egy normál osztály, de azzal a kiegészítéssel, a kulcsszó „absztrakt”:

és ez csatlakozik egy osztály a kulcsszó „nyúlik”:

A szokásos módszerek meghatározása az absztrakt osztály, valamint a rendszeres osztályban, és az absztrakt módszerek meghatározása a kulcsszó „absztrakt”. Absztrakció eljárásokat is alkalmaznak, mint a felület, és végre kell hajtani a bővülő osztályban.

1. lépés: A probléma leírása

Megjegyzés: Példák az osztályok ebben az útmutatóban az elnevezési „paket_komponent_Klass”. Így lesz külön osztályok a virtuális névtér hogy elkerülje az ütközést.

Most meg kell hozzá egy módszert információ megjelenítésére különböző formátumok, mint például az XML és JSON. Van egy nagyon nagy a kísértés, hogy ezt:

De ez a megoldás rossz, bár ez működni fog a jelen pillanatban. Kérdezd meg magadtól, hogy mi fog történni a jövőben, ha kell hozzá semmilyen kimeneti formátum? Meg fogja szerkeszteni az osztály, hogy újabb és újabb megnyilvánulásai egy eset, és így a súly osztály kódját.

Egyik alapelve az objektum orientált programozás, azt állítja, hogy az osztály meg kell tennie egy műveletet, de meg kell tennie, hogy nagyon hatékonyan.

2. lépés: Határozza interfész

Az első lépés az, hogy meghatározza egy interfész. Fontos, hogy jól átgondolt felület struktúrája, mert bármilyen változás a felület kódot változtatásokat igényel az összes osztályt, ahol használni fogják. A példánkban fogjuk használni egy egyszerű felületen hogy egyetlen módszer:

Ez nagyon egyszerű. Van azonosított állami write () metódust. amely úgy mint érv az objektum cikket. Bármilyen osztályt, amely megvalósítja a felületet feltétlenül kell a kimeneti eljárást.

Tipp: Ha azt szeretné, hogy korlátozza a típus az érvelés kell átadni a funkciókat és módszereket, akkor egyértelműen jelzi a típusú érvelés, ahogy az a módszer write (). Ez mindössze poly_base_Article típusú objektumokat. Sajnos egyértelműen meg visszatérési típusát az aktuális verzió PHP nem tud, így meg kell, hogy legyen nagyon óvatos, a visszatérési érték.

3. lépés: Hozzon létre egy végrehajtási

Meghatározása után a kívánt felületet hozzon létre egy osztályt, amely elvégzi ezeket a műveleteket. A mi példánkban két formátumok megjelenítésére használhatók a tartalmát a cikket. Így van két osztály: XMLWriter és JSONWriter. Ők kivonat a továbbított adatok a cikkből és formátum információkat.

Itt XMLWriter kódot.

Az osztály definíciójában, használja a kulcsszó eszközök végrehajtásával a felület. write () metódus tartalmazza a konverziós kódot XML.

De az osztály kódját JSONWriter:

Mind a megfelelő kódot az adott formátumot, amelyeket most az egyéni osztályban. Minden osztályban már csak feldolgozásáért felelős a megfelelő méretű, és semmi mást. Nincs más része a pályázatok nem vesznek részt ebben a folyamatban, segítségével a felület.

4. lépés: A bevezetési

Most, hogy a meghatározás az új osztályok felül kell vizsgálni a cikket osztályban. Az összes kódot, hogy került egy eredeti módszer write (), akkor hajtották végre, az új tantermekben. Minden módszer kell használni az új osztályok most:

Minden módszert jelenleg használt író osztály (olyan osztályt, amely megvalósítja az író interface), hívja a write (). A ez a $ hivatkozott rá, mint egy érv, és a visszaadott értéket közvetlenül használjuk a kódot. Többé nem kell aggódnia a formázási adatok és lehet koncentrálni a fő feladat.

Gets egy tárgy író

De hogyan lehet az író célja, hogy elvégzi ezt a módszert? Minden attól függ, te, és sok különböző stratégiák. Például létrehozhat egy class factory, hogy elkapjam a lekérdezési adatokat, és hozzon létre egy objektumot:

Ebben a példában a lekérdezés kiválaszt egy változó formátumot használja. Tervezünk az osztály nevét, ellenőrizze a létezését, és visszaad egy új író objektumot. És ha épített név nem létezik, kivételt dobott a kliens kódot képes megfelelően kezelni a helyzetet.

5. lépés: Mindezt összerakva

Kód, amely összeköti a funkcionalitás egyetlen egységet lehet kinézni:

Először hozzon létre egy objektumot cikk. Aztán meg kell kérni a Writer objektumot a Factory. Ha a kivételt az alapértelmezett méret (XMLWriter). Összefoglalva, átadjuk író objektum write () metódus a cikk célja, hogy az eredményt.

következtetés

Ez a lecke a bevezetés és interfészek leírását polimorfizmus PHP. A példában az egyik lehetséges módja a lehetséges felhasználása a polimorfizmus kimutatták. Ő egy elegáns módja annak, hogy ne lehessen a nehézkes feltételes kifejezések egy objektum-orientált kódot. Polimorfizmus segít követni az elkülönítés elvét a komponensek és szerves része a sok programozási mintákat.

Polimorfizmust php

Által nyújtott információk útján két csatorna (látás és hallás) a képzés hatékonyságának sokkal jobb tanulás könyvekből. A házi feladatok és online tesztek lehetővé teszi, hogy folyamatosan úgy gondolja, a célnyelven, és azonnal ellenőrizze tudását!

Polimorfizmust php

Polimorfizmust php

Ha azt szeretnénk, hosszú ideig, hogy tanulmányozzák, hogyan lehet HTML-t, akkor engem, mert van jó hír!

Polimorfizmust php

Ha már megtanulta a HTML és tovább szeretne lépni, a következő lépés az lesz, hogy tanulmányozza a CSS technológiával.

Polimorfizmust php

Ha azt szeretnénk, hogy megértsék a fogalmak domain és tárhely, megtanulják, hogyan kell létrehozni egy adatbázist, feltölteni a fájlokat a honlapon keresztül FTP szerver, hozzon létre aldomain konfigurálja a postaládákat a helyszínen, és ellenőrzi a részvétel, a tanfolyam kifejezetten az Ön számára!