Python Academy · Lektion

Nedarvning

Lær at genbruge og udvide funktionalitet gennem nedarvning.

Lektion 3 af 611 trin

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.

Nedarvning — illustration 1

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 barks

Brug 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):
    pass

Kontrol 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: True

Almindelige 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.

Nedarvning — illustration 11
Gratis at komme i gang

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

  1. Klasser og objekter
  2. Attributter og metoder
  3. Nedarvning
  4. Polymorfi
  5. Indkapsling og abstraktion
  6. Magic Methods (__str__, __repr__, osv.)
← Tilbage til Python Academy