Kom ihåg mig?
Home Menu

Menu


När vet man att det är dags att börja köra med

 
Ämnesverktyg Visningsalternativ
Oläst 2008-03-20, 14:09 #11
martines avatar
martine martine är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Mar 2005
Inlägg: 767
martine martine är inte uppkopplad
Mycket flitig postare
martines avatar
 
Reg.datum: Mar 2005
Inlägg: 767
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.
martine är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-03-20, 20:22 #12
wizzos avatar
wizzo wizzo är inte uppkopplad
Flitig postare
 
Reg.datum: Dec 2006
Inlägg: 424
wizzo wizzo är inte uppkopplad
Flitig postare
wizzos avatar
 
Reg.datum: Dec 2006
Inlägg: 424
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.
  • The procedural paradigm places most emphasis on functions, variables being treated as little more than a place to store data between functions calls.
  • The object oriented paradigm shifts the emphasis to variables; the functions "back" the variables and are used to access or modify them.
wizzo är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-03-20, 21:01 #13
martines avatar
martine martine är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Mar 2005
Inlägg: 767
martine martine är inte uppkopplad
Mycket flitig postare
martines avatar
 
Reg.datum: Mar 2005
Inlägg: 767
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.)
martine är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-03-21, 00:51 #14
wizzos avatar
wizzo wizzo är inte uppkopplad
Flitig postare
 
Reg.datum: Dec 2006
Inlägg: 424
wizzo wizzo är inte uppkopplad
Flitig postare
wizzos avatar
 
Reg.datum: Dec 2006
Inlägg: 424
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
wizzo är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-03-21, 01:07 #15
martines avatar
martine martine är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Mar 2005
Inlägg: 767
martine martine är inte uppkopplad
Mycket flitig postare
martines avatar
 
Reg.datum: Mar 2005
Inlägg: 767
Citat:
Originally posted by wizzo@Mar 21 2008, 01:51
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!!
Den känns ju inte så värst modern… men den kanske har ett bra innehåll.
martine är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-03-22, 15:38 #16
Adam N Adam N är inte uppkopplad
Medlem
 
Reg.datum: Feb 2008
Inlägg: 205
Adam N Adam N är inte uppkopplad
Medlem
 
Reg.datum: Feb 2008
Inlägg: 205
Citat:
Ursprungligen postat av HenSod
Citat:
Originally posted by -wizzo@Mar 20 2008, 10:47
Citat:
Ursprungligen postat av eg0master
En duktig programmerare lär sig hela tiden nya saker. OOP är kanske inte lämpligt i all fall, men OOP är sällan fel.
IC, då kan jag med rent samvete ignorera OOP och bara försöka bli bra på procedural formen istället.

Jag skulle vilja påstå att det i många fall är lättare att skriva bra kod om man jobbar objektorienterat. Dessutom finns det större möjligheter att på ett enkelt sätt utveckla koden vid ett senare skede om man använder OO. Därför är det aldrig fel att lära sig OOP.
Jag håller med, men det är också lättare att skriva dålig kod om
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.
Adam N är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 06:49.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017