Klasser i Python

Klasser i Python innehåller dels egenskaper (variabler och attribut) som ett objekt ska ha, dels metoder som beskriver vad objektet ska kunna göra. En klass fungerar som en mall som kan användas för att bygga upp flera olika objekt av samma typ.

Hur fungerar en Klass i Python?

Tänk dig ett objekt av en viss sort, exempelvis en bil. Det finns ju ofantligt många olika typer av bilar i världen, men vi kan vara överens om att en bil har fyra hjul, en ratt och kan köra framåt. Det är det som definierar en bil. Bilen kan såklart se ut på massor av olika sätt och ha många olika funktioner, men ha hjul, ratt och kunna köra är det som definierar den. Man kan säga att det är en mall för hur bilar ser ut och fungerar. I programmering kallas en sådan mall för klass. Det är klassen som bestämmer vilka olika egenskaper och funktioner objektet vi vill programmera ska ha.

Syntax – Hur skapar man en klass i Python?

Vi skapar en klass med föjande syntax:

class klassnamn:
    def __init__(self, parameter1, parameter2, … ):
       operation/operationer

def funktion1(self, parameter1, parameter2, … ):
    operation/operationer

def funktion2(self, parameter1, parameter2, … ):
    operation/operationer

    .
    .
    .

Först anropas det reserverade ordet class följt av klassnamnet. Alla klasser behöver en __init__ funktion, en så kallad konstruktor (mer om konstruktorn i senare avsnitt). Här kan man specificera vilka inparametrar och egenskaper man vill att  objektet ska få (mer om objekt på nästa sida). Slutligen speciferar vi alla funktioner som klassen ska ha. Behöver du en repetition på funktioner, så finns mer att läsa i kapitlet om funktioner.

Hur skapar man en klass i Python? – Exempel

Vi ska nu programmera en bil. Först vill vi bestämma vilka egenskaper som klassen “bil” ska ha. Vi bestämmer oss för att vår bil ska ha följande egenskaper:

  • Bilmärke
  • Årsmodell
  • Färg

Vi bestämmer sedan vilka funktioner vår bil ska ha, det vill säga vad vår bil ska kunna göra.

  • Köra
  • Tuta
  • Bromsa

Nedanför ser du hur egenskaperna och funktionerna skapas i Python:

Vi har nu skapat en klass (en mall), på hur en bil är. Vi kan med denna klass skapa objekt, en så kallad instans av klassen. Kanske vill vi programmera ett program med 100-tals bilar (100 objekt av klassen bil)?  Vi behöver fortfarande bara en klass, eftersom mallen kommer vara lika dan för alla bilar. Mer om hur du skapar ett objekt från klassen i nästa avsnitt!

Bakåt    |    Framåt