Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Basisklasser og Underklasser | Arv
Objektorienteret Programmering i Python

bookBasisklasser og Underklasser

Stryg for at vise menuen

Implementering af arv i Python udføres gennem basisklasser (forældre) og subklasser (børn).

En basisklasse definerer generelle egenskaber og funktionaliteter, mens en subklasse arver disse egenskaber og kan udvide dem med sine egne.

123456789101112131415161718192021222324252627282930
class Employee: def __init__(self, name, salary): self.name = name self.salary = salary def get_info(self): return f"{self.name}, {self.salary}" class Manager(Employee): def __init__(self, name, salary, department): super().__init__(name, salary) self.department = department def get_info(self): return f"{super().get_info()}, {self.department}" class Developer(Employee): def __init__(self, name, salary, language): super().__init__(name, salary) self.language = language def get_info(self): return f"{super().get_info()}, {self.language}" print(Employee("Anna", 2000).get_info()) print(Manager("Mark", 3500, "IT").get_info()) print(Developer("Lena", 3000, "Python").get_info())
copy

Employee er basisklassen. Den gemmer de data, som alle medarbejdere deler. Manager og Developer er subklasser af Employee. De arver automatisk alt fra basisklassen, så de behøver ikke at genskrive den samme kode.

Kaldet til super() kører basisklassens konstruktør, så name og salary bliver sat korrekt. Hver subklasse tilføjer derefter sine egne data:

  • Manager tilføjer department
  • Developer tilføjer language

Begge subklasser overskriver også get_info(). De genbruger basisversionen med super().get_info() og udvider derefter resultatet med deres egne detaljer.

Note
Bemærk

Dette gør basisklassen til fundamentet, og subklassen til den specialiserede implementering, der tilføjer fleksibilitet.

question mark

Hvad er en subklasses rolle i arv i Python?

Vælg det korrekte svar

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 2. Kapitel 2

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

Sektion 2. Kapitel 2
some-alt