Objektum orientalt PHP programozas?
Mire hasznaljak es miert jobb ?
Elore is koszonom.
OOP és objektumok nélkül is minden megoldható.
Objektumok egyik fő előnye, hogy elszeparálódik.
pl. ha többen dolgoznak egy projekten, mindenki más-más funkcionalitást.
pl. Egyik a felhasználók adatlapját, login... Másik pl. a fórum, és annak dolgait, harmadik pl. a belső üzenetküldő rendszert készíti.
És ha osztályokba vannak "zárva" akkor elkerülhető hogy össze akadjanak a változók, funkciók...
Pl. Fórumhoz is csinál valaki egy listázás funkciót, és a belső üzenetekhez is egy listázást, akkor könnyen össze akadhatnának.
Maga az Objektumok pedig egy absztrakciós szintre helyezik az egészet.
És objektumnak a tulajdonságait kéred le, adod meg, set/get funkciókkal...
Mint amikor egy ház a weboldal, egy-egy szoba pedig egy-egy class.
Osztályon belül is vannak tárgyak azoknak tulajdonságai, de magának az osztálynak is lehetnek tulajdonságai.
És mikor lekérsz valamit azt mondod pl. XY szoba, asztal méretét akarod tudni.
Vagy létrehozol benne új asztalt és azt mondod az fa, barna, 120*80...
majd legközelebb ha tudnod kell valamit erről az asztalról, akkor csak lekérded azt...
Az OOP előnye, az,hogy van egy minta osztály,amiből egyedek hozhatóak létre,amelyeken végzett műveletek az adott egyedre vonatkozóan hajtódnak végre (nem kavarnak másik változóiba). A másik dolog az öröklés. Ha van egy osztály,akkor rá építve lehet új osztályt definiálni,ami tudja mindazt amit a régi tudott, plusz még valami mást is.
pl: a PDO osztályt felhasználhatod alap osztálynak,amire építve létrehozhatsz egy PDO_enyem osztályt,ami a te egyedi hibakezelésedet stb tartalmazza, vagy felűlirhatod a csatlakozási módot eleve megparaméterezve stb..
Fontos,hogy egy objektum az összes hozzá tartozó adatot egyben kezeli.
Nézd végig ezt a tutorial sorozatot, és döntsd el magad, hogy jobb vagy nem:
Az objektumorientált programozás alapja maga az objektum. Ezek két tulajdonsággal rendelkeznek állapottal, és viselkedéssel. Hogyha a való életből szeretnénk példát vételezni, akkor a hangfal például egy lehetséges objektum.
A hangfal állapota lehet:
- színe
- teljesítménye
- garancia ideje
A hangfal viselkedése lehet
- hangerő növelés/csökkentés
- ki/bekapcsolás
Egy gyakorlati php példával élve, rendelkezel egy adatbázissal, amelyből le akarsz hívni adatokat. Tudod, hogy a kód lefutása során, többször szükséged lesz az említett adatok lehívására. Két dolgot tehetsz:
a:
- másolgatod a lehívó scriptedet
b:
létrehozol egy objektumot a lehívásra, és példányosítos
Az utóbbi sokkal átláthatóbb, és praktikusabb.
Hogyan hozol létre egy objektumot? Tulajdonképpen minden egyes programnyelvben szinte ugyanúgy.
Az objektum létrehozásának első lépése a Class, azaz az osztály deklarálása a következőképpen:
class objektumneve {
}
Az objektumban lehetnek a következők:
változók
konstruktor
függvények (function)
A függvények és a változók pontosan ugyanazt jelentik, mint a nem objektumorientált paradigmákon belül. A konstruktor arra a célra szolgál, hogy kívülről kezdőértéket lehessen adni a function-öknek. Ez az úgynevezett inicializálás.
Világos? :D
"A konstruktor arra a célra szolgál, hogy kívülről kezdőértéket lehessen adni a function-öknek."
Nem a function-öknek (amiket egyébként metódusoknak nevezünk) adsz kezdőértéket, hanem az osztály adattagjainak (változóinak).
"Nem a function-öknek (amiket egyébként metódusoknak nevezünk) adsz kezdőértéket, hanem az osztály adattagjainak (változóinak)."
Jó, ebben igazad van, csak én gyakorlatban gondolkodtam, hiszen a változókat metódusok használják. :D
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!