Meddelande

Du befinner dig just nu på en äldre version av Pluggakuten, gamla.pluggakuten.se. Nya Pluggakuten lanserades den 6 februari 2017 och du finner forumet på www.pluggakuten.se.

På gamla.pluggakuten.se kan du fortfarande läsa frågorna och svaren som ställts, men du kan inte skapa ett nytt konto eller nya trådar. Nya frågor och nytt konto skapar du på det nya forumet, välkommen dit!

Objektorienterad programmering

gulfi52
Medlem

Offline

Registrerad: 2017-01-17
Inlägg: 85

Objektorienterad programmering

Har försökt förstå vad man menar med rubriken - men blir inte klok på det. Har läst div sidor vid googling av just de orden - men blir bara snurrig... Någon med en lättförståelig förklaring?

 
Henrik E
Medlem

Offline

Registrerad: 2015-09-22
Inlägg: 3189

Re: Objektorienterad programmering

Objekt är en samling data, till exempel namn och personnummer, och några funktioner som kan anropas, till exempel age.
Om objektet heter jag blir namnet jag.namn och personnumret jag.pnr och anropet jag.age(20170122) returnerar 75.

 
medici
Medlem

Offline

Registrerad: 2017-01-23
Inlägg: 1

Re: Objektorienterad programmering

Inom programmering finns det olika typer av programmeringsmetoder. Objektorienterad programmering är en sådan (hädanefter OOP). OOP är idag väldigt populärt och används bland annat till att skriva appar till iOS och Android. Java, Objective-C och Swift är exempel på OOP-språk.

I OOP arbetar man med som titeln ger ledtråd om med "objekt". Dessa objekt kan ha olika egenskaper (properties) och funktioner (methods) som du kan kalla på (anropa) via objekt. Ex

Jag skapar ett objekt, "Vechile" (fordon) nedan. (Syntax: Swift)

class Vechile {
}


Ett fordon,  kan t.ex. ha en viss maxhastighet och en färg, och det kan ofta röra sig framåt. Det är dags att ge mitt objekt några definitioner.

class Vechile {
    var maxSpeed: Double
    var color: String
    func move(withSpeed: Double){
        //code
    }
}


Nu har jag en modell av hur ett fordons-objekt ska se ut i mitt program. Det ska ha en färg, en maxhastighet och en move()-metod. Ur denna modell kan jag nu instansiera (tänk "skapa ur..") ett fordons-objekt. Jag skapar en instans "myCar", och tilldelar den värden (values) till de egenskaper (properties) som ett fordon ska ha, enligt vår definition ovan.

var myCar = Vechile(maxSpeed: 240.0, color: "Green")

Jag kan sedan interagera med mitt skapade objekts metoder och egenskaper. Detta genom att skriva

myCar.move(withSpeed: myCar.maxSpeed)

När jag gör detta, kallar jag på metoden func move() {  } som vi definierade ovan i vårt fordonsobjekt, och skickar med ett "argument", i detta fall (withSpeed: myCar.maxSpeed), där myCar.maxSpeed returnerar det värde vi gav myCar's maxSpeed, i detta fall 240.0.

Detta är ett exempel på hur ett objekt kan se ut och användas inom OOP. Hoppas det hjälpte dig något på vägen. Men för att förstå olika programmerings-paradigmer, t.ex. OOP, krävs det mycket tid och övning. Läs, pröva, läs, pröva, fundera, repetera. Med tiden blir du mer och mer bekväm med alla dessa begrepp och liknande. Det finns med all säkerhet folk som förklarar detta bättre än mig. Sök på YouTube och liknande efter olika introduktioner till olika OOP-språk. Lycka till!

/medici

Senast redigerat av medici (2017-01-23 11:55)

 


Sidfot

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson

Powered by Mattecentrum
 |  Denna sida använder cookies |  Kontakta oss |  Feedback |