Dino Geek, versucht dir zu helfen

Was ist Vererbung in PHP?


Vererbung in PHP ist ein grundlegendes Konzept der objektorientierten Programmierung (OOP), das es ermöglicht, Klassen hierarchisch zu organisieren und Eigenschaften sowie Methoden von einer übergeordneten Klasse (Basisklasse oder Elternklasse) an eine abgeleitete Klasse (Kindklasse) weiterzugeben. Dies fördert die Wiederverwendung von Code und die Erstellung flexibler und erweiterbarer Softwarearchitekturen.

  1. Grundprinzipien der Vererbung

In PHP wird Vererbung mittels des Schlüsselworts `extends` realisiert. Eine Kindklasse, die von einer Elternklasse erbt, kann auf alle öffentlichen und geschützten Eigenschaften und Methoden der Elternklasse zugreifen.

```php
// Beispiel einer Basisklasse
class Fahrzeug { public $geschwindigkeit;

public function beschleunigen() { echo “Das Fahrzeug beschleunigt.\n”; } }

// Beispiel einer abgeleiteten Klasse
class Auto extends Fahrzeug { public $marke;

public function hupen() { echo “Das Auto hupt.\n”; } }

// Instanziierung eines Objekts der abgeleiteten Klasse
$meinAuto = new Auto();
$meinAuto->beschleunigen(); // Ausgabe: “Das Fahrzeug beschleunigt.“
$meinAuto->hupen(); // Ausgabe: “Das Auto hupt.“
```

  1. Zugriffsebenen

PHP bietet drei Zugriffsmodifikatoren: `public`, `protected` und `private`.

- `public`: Eigenschaften und Methoden sind überall zugänglich.
- `protected`: Eigenschaften und Methoden sind nur innerhalb der Klasse selbst und von abgeleiteten Klassen zugänglich.
- `private`: Eigenschaften und Methoden sind nur innerhalb der Klasse selbst zugänglich.

```php
class Fahrzeug { protected $geschwindigkeit;

protected function setGeschwindigkeit($geschwindigkeit) { $this->geschwindigkeit = $geschwindigkeit; } }

class Auto extends Fahrzeug { public function beschleunigen() { $this->setGeschwindigkeit(100); echo “Das Auto beschleunigt auf {$this->geschwindigkeit} km/h.\n”; }
}

$meinAuto = new Auto();
$meinAuto->beschleunigen(); // Ausgabe: “Das Auto beschleunigt auf 100 km/h.“
```

  1. Method Overriding (Methodenüberschreibung)

Abgeleitete Klassen können die Methoden der Elternklasse überschreiben. Hierbei kann die Methode in der Kindklasse spezifischer angepasst werden. Das Schlüsselwort `parent` wird verwendet, um innerhalb der überschriebenen Methode auf die Methode der Elternklasse zuzugreifen.

```php
class Fahrzeug { public function beschleunigen() { echo “Das Fahrzeug beschleunigt.\n”; }
}

class Auto extends Fahrzeug { public function beschleunigen() { parent::beschleunigen(); echo “Das Auto beschleunigt schneller.\n”; }
}

$meinAuto = new Auto();
$meinAuto->beschleunigen(); // Ausgabe: “Das Fahrzeug beschleunigt.“ // “Das Auto beschleunigt schneller.“
```

  1. Das Konzept der Abstraktion

PHP unterstützt auch abstrakte Klassen, die nicht direkt instanziiert werden können. Solche Klassen dienen als Basis und enthalten mindestens eine abstrakte Methode, die in den abgeleiteten Klassen definiert werden muss.

```php
abstract class Fahrzeug { abstract public function geschwindigkeit();
}

class Auto extends Fahrzeug { public function geschwindigkeit() { return “Die Geschwindigkeit beträgt 100 km/h.”; }
}

$meinAuto = new Auto();
echo $meinAuto->geschwindigkeit(); // Ausgabe: “Die Geschwindigkeit beträgt 100 km/h.“
```

  1. Quellen

1. Offizielle PHP-Dokumentation über Klassen und Objekte: [PHP.net – Klassen und Objekte](https://www.php.net/manual/de/language.oop5.php)
2. PHP: The Right Way: [Einführung in die OOP in PHP](http://www.phptherightway.com/pages/Design-Patterns.html)
3. W3Schools PHP OOP Tutorial: [W3Schools OOP](https://www.w3schools.com/php/php_oop_inheritance.asp)

Diese Ressourcen bieten eine detaillierte und umfassende Erklärung der Konzepte der Vererbung in PHP und deren praktische Anwendung.


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