Flera objekt
Flera objekt – var sitt minne
När du skapar flera objekt från en klass skapas separata instanser, alltså unika kopior av klassen med sin egen data. Det betyder att ändringar på ett objekt inte påverkar de andra.
Exempel: Flera objekt av samma klass
class Dog:
def __init__(self, name, age):
self.name = name
self.age = age
dog1 = Dog("Rex", 3)
dog2 = Dog("Bella", 5)
print(f"{dog1.name} är {dog1.age} år")
print(f"{dog2.name} är {dog2.age} år")- Vi skapar två olika objekt:
dog1ochdog2. - Båda har egna värden för
nameochage. - Även om de kommer från samma klass (
Dog), så har de var sin uppsättning data.
Ändringar på ett objekt påverkar inte andra
dog1.age += 1
print(f"{dog1.name} är nu {dog1.age} år")
print(f"{dog2.name} är fortfarande {dog2.age} år")Ändringen på dog1 påverkar inte dog2 – de är helt oberoende!
Hur funkar det bakom kulisserna?
Varje gång du skriver:
obj = Klassnamn(värden)då:
- Python skapar ett nytt objekt i minnet
- Kör
__init__()för att ge objektet sina värden - Lagrar data i objektets egna instansvariabler
Du kan alltså ha hundratals objekt med olika data från samma klass, till exempel om du bygger ett spel med många karaktärer, fordon, användare etc.
Sammanfattning
| Koncept | Förklaring |
|---|---|
| Flera objekt | Varje gång du skapar ett nytt objekt skapas en egen instans av klassen. |
| Egna instansvariabler | Alla objekt har sina egna värden – de delar inte data med varandra. |
| Oberoende data | Ändringar på ett objekt påverkar inte andra objekt. |