Dino Geek, versucht dir zu helfen

Wie funktioniert Vererbung in Python?


Vererbung ist eines der Kernprinzipien der objektorientierten Programmierung (OOP). Sie ermöglicht, dass eine Kindklasse (auch “abgeleitete” oder “Unterklasse” genannt) Methoden und Attribute von einer Elternklasse (auch “Super- oder “Basisklasse” genannt) erben kann. Mit anderen Worten, eine Unterklasse erbt die Funktionalität ihrer Basisklasse und kann diese erweitern oder überschreiben.

In Python wird die Vererbung durch die Definition einer Klasse mit einer oder mehreren Basisklassen in den Klammern nach dem Klassennamen erreicht:

```python

  1. Basisklasse
    class Animal: def __init__(self, name): self.name = name

def speak(self): pass
  1. abgeleitete Klasse
    class Dog(Animal): def speak(self): return “Wuff”

class Cat(Animal): def speak(self): return “Miau“
```

Basisklassen können Initialisierungen und Methoden bereitstellen, die von abgeleiteten Klassen wiederverwendet werden können. Wenn eine Methode in der abgeleiteten Klasse überschrieben wird, wird sie durch die Methode der abgeleiteten Klasse ersetzt, wenn sie aufgerufen wird.

Es ist auch möglich, auf Methoden der Basisklasse in der abgeleiteten Klasse mit `super()` zuzugreifen. Dies ist besonders hilfreich, wenn die abgeleitete Klasse die Initialisierung der Basisklasse erweitern muss:

```python
class Dog(Animal): def __init__(self, name, breed): super().__init__(name) # ruft die Initialization der Basisklasse auf self.breed = breed
```

In diesem Fall hat die Klasse Dog sowohl ein `name` als auch ein `breed` Attribut, obwohl nur `breed` in der `Dog` Klasse definiert ist. Das `name` Attribut wurde von der `Animal` Klasse geerbt.

Darüber hinaus bietet Python Mehrfachvererbung an, d.h. eine Klasse kann von mehreren Basisklassen erben:

```python
class Mammal: def is_mammal(self): return True

class Flying: def can_fly(self): return True

class Bat(Mammal, Flying): pass

b = Bat()
print(b.is_mammal()) # True
print(b.can_fly()) # True
```

Bat erbt sowohl von der Mammal als auch von der Flying Klasse, daher haben Bat-Instanzen sowohl `is_mammal` als auch `can_fly` Methoden.

Vererbung ist ein mächtiges Werkzeug zur Code-Wiederverwendung und zur Erstellung einer logischen und gut strukturierten Codebasis.


Erstellen Sie einfach Artikel, um Ihr SEO zu optimieren
Erstellen Sie einfach Artikel, um Ihr SEO zu optimieren





DinoGeek bietet einfache Artikel über komplexe Technologien

Möchten Sie in diesem Artikel zitiert werden? Es ist ganz einfach, kontaktieren Sie uns unter dino@eiki.fr

CSS | NodeJS | DNS | DMARC | MAPI | NNTP | htaccess | PHP | HTTPS | Drupal | WEB3 | LLM | Wordpress | TLD | Domain | IMAP | TCP | NFT | MariaDB | FTP | Zigbee | NMAP | SNMP | SEO | E-Mail | LXC | HTTP | MangoDB | SFTP | RAG | SSH | HTML | ChatGPT API | OSPF | JavaScript | Docker | OpenVZ | ChatGPT | VPS | ZIMBRA | SPF | UDP | Joomla | IPV6 | BGP | Django | Reactjs | DKIM | VMWare | RSYNC | Python | TFTP | Webdav | FAAS | Apache | IPV4 | LDAP | POP3 | SMTP

| Whispers of love (API) | Déclaration d'Amour |






Rechtliche Hinweise / Allgemeine Nutzungsbedingungen