Objekt i Python

Objekt i Python innehåller informationen som beskriver egenskaperna och funktionerna från en klass. Man kan ha flera objekt från samma klass, där varje objekt är unikt! 

Vad är ett Objekt i Python?

Ett objekt i Python kan vara precis vad som helst. Ett objekt innehåller information om objektets tillstånd (exempelvis färg och årsmodell på en bil). Objekt innehåller även information om hur objektet beter sig för sina olika funktioner (exempelvis köra framåt eller svänga för en bil). Man brukar säga att ett objekt är en instans av en klass. Egenskaperna som ska definieras när man skapar ett objekt kallas därför naturligt för instansvariabler.

Varför objekt? – Exempel

I föregående avsnitt skapade vi klassen Car enligt:

Detta är alltså mallen det vill säga vilka egenskaper som objektet ska ha. I detta fall har klassen Car ett bilmärke (brand), årsmodell (year), samt en färg (color). Klassen har även tre funktioner, köra (drive), tuta (honk) och bromsa (breaking). Ofta vill man programmera flera objekt av samma klass i ett program. Säg att vi vill programmera ett program med 100 bilar. Det vore ju väldigt jobbigt om vi var tvungna att programmera 100 klasser som beskriver samma sak.  Tack vare att vi skapat en mall (klassen Car), kan vi använda samma klass för att skapa flera olika objekt.

Vi ska visa detta genom att programmera två stycken bilar. Bilarna kommer alltså skapas från samma klass, men ha olika egenskaper.

Hur skapar man ett objekt i Python? – Exempel

Vi ska nu programmera två stycken bilar. Vi bestämmer att bilarna ska ha följande egenskaper:

Bil 1:
Märke: Volvo
Ålder: 2018
Färg: Vit

Bil 2:
Namn: BMW
Ålder: 2005
Färg: Svart

Som du ser så skiljer sig de två bilarna åt, men vi kan trots det använda samma klass för att skapa objekten (de har ju alla samma egenskaper (instansvariabler)!

Vi skapar nya objekt enkelt genom att anropa klassen, exempelvis:

Nu kan vi anropa funktionerna i varje objekt, helt oberoende av varandra!

Utskriften blir då:

Volvo: Kör framåt
BMW: Bromsar…

Man kan även anropa egenskaperna hos en bil, exempelvis:

Vilket ger utskriften:

2018
Black

Som du ser, har vi två olika objekt med samma egenskaper. Objekten är helt oberoende av varandra vilket innebär att ena bilen kan bromsa medans den andra kör framåt!

Bakåt    |    Framåt