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

bookBasisklasser og subklasser

Sveip for å vise menyen

Implementering av arv i Python gjøres gjennom basisklasser (foreldre) og subklasser (barn).

En basisklasse definerer generelle egenskaper og oppførsel, mens en subklasse arver disse funksjonene og kan utvide dem med 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 superklassen. Den lagrer data som alle ansatte deler. Manager og Developer er subklasser av Employee. De arver automatisk alt fra superklassen, så de trenger ikke å skrive den samme koden på nytt.

Kallet til super() kjører konstruktøren til superklassen, slik at name og salary blir satt riktig. Hver subklasse legger deretter til sine egne data:

  • Manager legger til department
  • Developer legger til language

Begge subklassene overstyrer også get_info(). De gjenbruker basisversjonen med super().get_info() og utvider deretter resultatet med sine egne detaljer.

Note
Merk

Dette gjør superklassen til grunnlaget, og subklassen til en spesialisert implementasjon som gir fleksibilitet.

question mark

Hva er rollen til en subklasse i arv i Python?

Velg det helt riktige svaret

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 2. Kapittel 2

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Seksjon 2. Kapittel 2
some-alt