Nedarvning
Lær at genbruge og udvide funktionalitet gennem nedarvning.
Nedarvning er en gratis Python Academy-lektion på CoddyKit. Dette er lektion 3 af 6. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Python Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Python Academy-kurset indeholder 6 lektioner i alt.
Introduktion til nedarvning
Nedarvning er et centralt koncept i objektorienteret programmering (OOP), der gør det muligt for en klasse (underklasse) at nedarve attributter og metoder fra en anden klasse (superklasse). Det fremmer genbrug af kode og gør koden mere struktureret.
I denne lektion lærer du, hvordan du implementerer nedarvning i Python og forstår fordelene ved den.

Definition af en superklasse
En superklasse er den grundklasse, som andre klasser nedarver fra. Den defineres som enhver anden klasse:
# Defining a superclass
class Animal:
def speak(self):
print("Animal speaks")Oprettelse af en underklasse
En underklasse nedarver attributter og metoder fra en superklasse. For at definere en underklasse skal du angive superklassens navn som parameter:
# Defining a subclass
class Dog(Animal):
def speak(self):
print("Dog barks")Tilsidesættelse af metoder
En underklasse kan tilsidesætte metoder fra superklassen for at levere specifik adfærd:
# Overriding methods in a subclass
class Dog(Animal):
def speak(self):
print("Dog barks")
animal = Animal()
animal.speak() # Outputs: Animal speaks
dog = Dog()
dog.speak() # Outputs: Dog barksBrug af funktionen <code>super()</code>
Funktionen super() giver dig mulighed for at kalde metoder fra superklassen i underklassen:
# Using super() to call superclass methods
class Dog(Animal):
def speak(self):
super().speak()
print("Dog barks")Multipel nedarvning
Python understøtter multipel nedarvning, hvor en underklasse kan nedarve fra mere end én superklasse:
# Example of multiple inheritance
class Flyer:
def fly(self):
print("Flying")
class Swimmer:
def swim(self):
print("Swimming")
class Duck(Flyer, Swimmer):
passKontrol af relationer mellem klasser
Du kan kontrollere relationer mellem klasser ved hjælp af funktionerne isinstance() og issubclass().
# Checking class relationships
# Checking if an object is an instance of a class
print(isinstance(Dog(), Dog)) # Outputs: True
# Checking if a class is a subclass of another
print(issubclass(Dog, Animal)) # Outputs: TrueAlmindelige fejl ved nedarvning
Her er nogle fejl, du bør undgå:
- At tilsidesætte metoder uden at kalde
super(), når det er nødvendigt. - At forveksle rækkefølgen for metodeopløsning (MRO) ved multipel nedarvning.
- At bruge nedarvning, når komposition måske ville være et bedre valg.
Hvad har du lært?
I denne lektion lærte du:
- Hvordan du definerer superklasser og underklasser.
- Hvordan du tilsidesætter metoder og bruger
super(). - Hvordan multipel nedarvning fungerer i Python.
Godt gået! Lad os gå videre til næste emne.

Lær Python med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 76
- Lektioner
- 320
Ofte stillede spørgsmål
Er lektionen “Nedarvning” gratis?
Ja — hele teksten til “Nedarvning” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Python Academy-kurset, skal du opgradere til CoddyKit PRO. Python Academy-kurset indeholder 6 lektioner i alt.
Hvad lærer jeg i “Nedarvning”?
Lær at genbruge og udvide funktionalitet gennem nedarvning. Du øver dig i Python Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på Python Academy?
Der kræves ingen tidligere erfaring. Python Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 3 af 6.
Hvor lang tid tager lektionen “Nedarvning”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne Python Academy-lektion?
Ja. Alle Python Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- Klasser og objekter
- Attributter og metoder
- Nedarvning
- Polymorfi
- Indkapsling og abstraktion
- Magic Methods (__str__, __repr__, osv.)