Programmering nivå 2
Kap 3.3 – Konstruktorer och metoder
Ge objekt startvärden och skapa beteenden med metoder.
Mål med lektionen
När du har arbetat klart med denna lektion ska du:
- Förstå vad en konstruktor gör och hur den används.
- Kunna skriva egna metoder i en klass och använda
self. - Kunna skilja på att skapa objekt och att anropa metoder.
Så här lär du dig bäst
Läs exemplen och kör dem steg för steg. Tänk på varje klass som en maskin: konstruktorn bygger maskinen, och metoderna är vad den kan göra. Prova att skriva egna metoder med indata, eller låt en metod ändra ett värde i objektet.
Centrala begrepp
__init__(): konstruktor som används när objektet skapas för att ge det startvärden.self: referens till det aktuella objektet, används för att komma åt dess egenskaper och metoder.- Metod: en funktion inuti en klass som definierar ett beteende.
- Instansvariabler: variabler som är unika för varje objekt och ofta definieras i konstruktorn.
Det är viktigt att förstå dessa delar för att du ska kunna skapa objekt med både data och funktionalitet.
Konstruktorer och metoder i Python
En konstruktor är en speciell metod som heter __init__. Den körs automatiskt när ett nytt
objekt skapas.
class Car:
def __init__(self, brand, year):
self.brand = brand
self.year = year
def honk(self):
print(f"{self.brand} från {self.year} tutar!")
När du skapar ett objekt använder du klassen som en funktion:
car1 = Car("Volvo", 2020)
car1.honk()
I detta exempel:
__init__tilldelar värden tillbrandochyear.honk()är en metod som använder objektets data för att skriva ut ett meddelande.
Metoder med parametrar
Du kan även skapa metoder som tar emot parametrar och ändrar objektets data.
def change_year(self, new_year):
self.year = new_year
Anrop:
car1.change_year(2023)
Öva: skriv egna metoder
- Skapa en klass
Dogmed attributennameochage. - Skriv en metod
bark()som skriver ut[name] säger voff!. - Skriv en metod
have_birthday()som ökaragemed 1. - Testa genom att skapa en hund, låta den skälla och sedan ha födelsedag.
Sammanfattning
- En konstruktor,
__init__, används för att ge objekt startvärden. selfanvänds inom metoder för att hänvisa till objektets egna data.- Metoder beskriver vad objektet kan göra.
- Du kan skapa metoder både med och utan parametrar.