Programmering nivå 2
Kap 3.2 – Skapa klasser och objekt
Definiera egna klasser och skapa objekt som har egna attribut och metoder.
Mål med lektionen
När du har arbetat klart med denna lektion ska du:
- Kunna definiera egna klasser i Python.
- Förstå hur man skapar och använder objekt från en klass.
- Kunna använda konstruktorer och skapa metoder i en klass.
Så här lär du dig bäst
Börja med att läsa exemplen och försök förstå hur varje del fungerar. Kopiera koden och kör den själv. Gör sedan små ändringar och se vad som händer. Tänk på hur du kan använda egna klasser för att beskriva verkliga företeelser.
Centrala begrepp
- Klass: en mall som beskriver hur ett objekt ska fungera.
- Objekt: en instans av en klass som skapas när programmet körs.
__init__(): klassens konstruktor, som körs när objektet skapas.self: referens till det aktuella objektet inom klassen.- Metod: en funktion som tillhör en klass och använder
self.
Du behöver förstå dessa begrepp för att kunna bygga program med flera objekt som samarbetar. De är grunden för det objektorienterade arbetssättet.
Skapa och använda klasser
I Python definierar du en klass med nyckelordet class. Här är ett enkelt exempel på en
klass som representerar en bok:
class Book:
def __init__(self, title, author):
self.title = title
self.author = author
def print_info(self):
print(f"{self.title} av {self.author}")
Här definieras två attribut, title och author, samt en metod
print_info(). För att använda klassen skapar du ett objekt:
book1 = Book("1984", "George Orwell")
book1.print_info()
Detta skapar ett nytt objekt, book1, av typen Book. När du anropar metoden
print_info() använder objektet sina egna attribut.
Öva: skapa en egen klass
Skriv en klass som heter Person. Den ska ha attributen name och
age, och en metod som skriver ut:
Hej, jag heter [namn] och är [ålder] år.
Tips:
- Börja med att skriva
class Person: - Lägg till en
__init__-metod medself,nameochage. - Lägg till en metod
say_hello()som skriver ut informationen.
Sammanfattning
- En klass i Python skapas med
classoch innehåller metoder och attribut. __init__används för att sätta upp objektets startvärden.selfanvänds för att referera till objektet självt.- Du skapar ett objekt genom att anropa klassen som en funktion.