FAQ |
Kalender |
![]() |
#11 | |||
|
||||
Mycket flitig postare
|
Använder man php så skulle jag nog säga att det beror på vad man vill åstadkomma.
1. Vill man bara skriva ut dagens datum på sidan eller liknande så är php utmärkt för att bara klämma in lite kod hur som helst likt SSI. 2. För enklare funktionalitet kan man använda funktioner (funktioner kan sedan lätt byggas in i objekt) - t.ex. räkna fram morgondagens datum. 3. Har man någon form av webbapplikation (formulär, automatiska utskick, webbshoppar, CMS:er, databashantering), särskilt om den har flera sidor, så måste man nästan använda OOP. I synnerhet bör man alltid använda OOP om man har variabler som kan sägas höra ihop med funktioner. Till varje funktion för databasuppkoppling hör en användare och ett lösenord, för varje epost du skickar hör en mottagare och en avsändare - för detta är OOP optimalt eftersom det blir busenkelt att skicka två mejl eller starta två separata databasuppkopplingar, det är bara att skapa så många objekt man behöver, varje objekt kommer då innehålla den relevanta informationen utan att man behöver hålla reda på det och skicka med det vid funktionsanrop. Objekt (och poängen med objektorienterad programmering) är egentligen bara att tillhandahålla en "förpackning" för funktioner och variabler så att man får lite mer ordning. |
|||
![]() |
![]() |
![]() |
#12 | |||
|
||||
Flitig postare
|
Jag har sett det vackra med OOP men jag kan inte fatta hur man plockar ut och ersätter dem förinstallerade kugghjulen för eget bruk.
Jag har bland annat läst detta stycke från en bok men fattar inte vad dem menar med att procedural lägger vikt på funktioner medans OOP lägger vikten på variabler. Kan nån förklara detta synsätt med vardagssvenska? The big advantage of classes is that they let you define variables and the functions that use them together in one place, while keeping the functions hidden from unrelated code. This highlights one of the key theoretical point about the object oriented paradigm.
|
|||
![]() |
![]() |
![]() |
#13 | |||
|
||||
Mycket flitig postare
|
De menar helt enkelt att om du programmerar proceduralt så får du själv hålla reda på dina variabler - programmerar du objektorienterat så sköter objekten detta åt dig.
Se det hela som en fabrik. Du en massa maskiner (funktioner) som kan göra olika saker. För att tillverka något behöver du dessutom en massa material (variabler). Om du programmerar proceduralt så har du en massa väloljade maskiner men du har allt materialt spritt utöver hela fabriken. Om du däremot programmerar objektorienterat så har du rätt material liggande vid varje maskin och hela processen går snabbare och är enklare. Framförallt är risken mindre att du som programmerare bladar ihop material och skapar kaos i maskineriet… Det är möjligt att den här förklaringen inte hjälper dig ett dugg men när du väl satt igång kommer du märka hur praktiskt det är att slippa tänka vilken variabel var det nu jag behövde för det och var finns den, etc. Exempelvis så kan du använda ett beställningsobjekt där du kan hämta och spara adress, namn samt skicka beställningen - mycket enklare än att ha en funktion där du måste mata in namn, adress osv. varje gång när du skickar: $olles = new Beställning("Olle", "Vägen 43", "Nånstad"); $olles->addProduct('Pepparkakor'); //Lägg till och ta bort produkter (till Olles besällning) $olles->sendOrder(); //Beställningen skickas - all nödvändig information finns i objektet $olles (Olle gör en beställning - objektet håller reda på vem som beställer, vart beställningen skall skickas osv.) |
|||
![]() |
![]() |
![]() |
#14 | |||
|
||||
Flitig postare
|
Det här är den bästa teoretiska OOP sidan jag träffat på hittills mer lärorikt än den bok jag kämpat med!!
http://homepages.north.londonmet.ac.uk/~ch...r/sitemap1.html |
|||
![]() |
![]() |
![]() |
#15 | |||
|
||||
Mycket flitig postare
|
Citat:
![]() |
|||
![]() |
![]() |
![]() |
#16 | |||
|
||||
Medlem
|
Citat:
man använder OOP. I alla fall som nybörjare. Det är lätt att fascineras av arv och polymorfism och börja använda det både när det är lämpligt och när det är olämpligt. Om man är på väg från procedural programmering till OOP, så tror jag det är bäst att bara fokusera på inkapsling till att börja med och senare använda arv/polymorfism bara när det är absolut nödvändigt. |
|||
![]() |
![]() |
Svara |
|
|