FAQ |
Kalender |
|
![]() |
#1 | ||
|
|||
Medlem
|
Hej!
Jag har hållt på och programmerat i PHP i ett antal år nu och programmerat både större och mindre applikationer. MEN jag har aldrig förstått användningen av klasser? Jag har googlat och sökt på det i det oändliga men tycker mig inte se några fördelar med det eller hur det ens ska fungera? Kan någon snäll själ förklara för mig användningsområdena för klasser och vad är det för skillnad på användningsområde emot Arrays?? (eller länka till en bra guide för klasser) ![]() Mycket tacksam för svar!!! |
||
![]() |
![]() |
![]() |
#2 | ||
|
|||
Klarade millennium-buggen
|
Gosh, då har du mycket kvar att upptäcka!
Arrayer ock klasser är inte jämförbara. Har du använt structurer elelr om du har "grupperat" variabler så att du har haft behov av att skapa en grupp av variabler för att hålla information som "hör ihop" som exempelvis uppgifter om "personer" eller "företag" eller "kunder" så inser du säkert att varje grupp av variabler består av flera variabler som exempelvis Namn, adress, personnummer för personer. I en klass kan man hålla ihop dessa variabler så du kan hantera alla variablerna i en klump om de hör ihop. Man kan även göra listor av klasser om man vil hantera fler instanser av samma klass. I en klass kan man även ha metoder som är specifika för just den klassen. Man kan även dölja de interna variablerna och tvinga användaren av klassen (dvs programmeraren) att använda metoder för att ändra innehållet. det gör att den som skriver koden för klassen har bättrre kontroll på hur klassen används. Inkapsling kallas det för. Källa: http://www.webbdesign.info/server_si...ientering.html http://www.tuxradar.com/practicalphp/6/0/0 Senast redigerad av Conny Westh den 2010-05-02 klockan 23:17 |
||
![]() |
![]() |
![]() |
#3 | ||
|
|||
Har WN som tidsfördriv
|
Skulle rekommendera en bok om objektorienterat programmering, det är en bra och trevlig början.
|
||
![]() |
![]() |
![]() |
#4 | ||
|
|||
Har WN som tidsfördriv
|
Du kan inte riktigt jämföra en Array med en Klass. Du kan dock jämföra en Array med ett Objekt. Ett Objekt är alltså en instans av en Klass.
Det finns en inbyggd klass i PHP som heter stdClass, den har användningsområden likt en Array. Alltså något som du mer eller mindre använder för att förflytta data med. Exempel: Kod:
$obj = new stdClass(); $obj->name = 'Karl'; $obj->age = 16; echo $obj->name.' är '.$obj->age.' år'; Kod:
$arr = array(); $arr['name'] = 'Karl'; $arr['age'] = 16; echo $arr['name'].' är '.$arr['age'].' år'; När man pratar om OOP (Object Oriented Programming, Objekt Orienterad Programmering på svenska) så brukar det dock inte vara detta. Att använda Objekt är helt enkelt att strukturera upp din applikation. Exempelvis: allt som har med A att göra hamnar i klass A. Allt som har med B att göra hamnar i klass B. Klass C har samma grundfunktionalitet som kass B och förlänger därför klass B. Förklaring med lite kod: Kod:
class Klass_B { public function do_something() { echo 'I did something!'; } } class Klass_C extends Klass_B { public function do_something_more() { echo $this->do_something().' And then I did something more!'; } } $obj = new Klass_C; $obj->do_something_more(); För att runda av så ger jag dig några bra video tutorials i ämnet: http://www.killerphp.com/tutorials/object-oriented-php/ Lycka till! |
||
![]() |
![]() |
![]() |
#5 | ||
|
|||
Flitig postare
|
OOP är dessutom utmärkt om man delar upp koden i olika lager där ett lager kan hantera databasfunktioner endast vilket ger stora fördelar om endast något i databaskoden behöver förändras.
|
||
![]() |
![]() |
Svara |
|
|