⊗ppOpFnCl 63 of 107 menu

Abstrakte Klassen in OOP in PHP

Angenommen, Sie haben eine Klasse User, und davon erben die Klassen Employee und Student.

Dabei wird angenommen, dass Sie Objekte der Klassen Employee und Student erstellen werden, aber Objekte der Klasse User - nicht, da diese Klasse nur zur Gruppierung gemeinsamer Eigenschaften und Methoden ihrer Nachkommen verwendet wird.

In diesem Fall kann die Erstellung von Objekten der Klasse User zwangsweise verboten werden, damit Sie oder ein anderer Programmierer sie nicht versehentlich irgendwo erstellen.

Dafür gibt es sogenannte abstrakte Klassen. Abstrakte Klassen sind Klassen, die für die Vererbung von ihnen bestimmt sind. Dabei können Objekte solcher Klassen nicht erstellt werden.

Um eine Klasse als abstrakt zu deklarieren, muss beim Deklarieren das Schlüsselwort abstract geschrieben werden:

<?php abstract class User { } ?>

Also, lassen Sie uns die Implementierung einer abstrakten Klasse User schreiben. Angenommen, sie hat eine private Eigenschaft name, sowie Getter und Setter dafür:

<?php abstract class User { private $name; public function getName() { return $this->name; } public function setName($name) { $this->name = $name; } } ?>

Der Versuch, ein Objekt der Klasse User zu erstellen, wird einen Fehler verursachen:

<?php $user = new User; // wird einen Fehler ausgeben ?>

Aber die Vererbung von unserer Klasse wird möglich sein. Erstellen wir eine Klasse Employee, die von unserer abstrakten Klasse User erbt:

<?php class Employee extends User { private $salary; public function getSalary() { return $this->salary; } public function setSalary($salary) { $this->salary = $salary; } } ?>

Erstellen wir ein Objekt der Klasse Employee - alles wird funktionieren:

<?php $employee = new Employee; $employee->setName('john'); // Methode des Elternteils, d.h. der Klasse User $employee->setSalary(1000); // eigene Methode, d.h. der Klasse Employee echo $employee->getName(); // gibt 'john' aus echo $employee->getSalary(); // gibt 1000 aus ?>

Erstellen Sie eine abstrakte Klasse Figure, die eine geometrische Figur darstellt. Angenommen, davon erben Klassen für Kreis, Rechteck und Quadrat.

Deutsch
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wir verwenden Cookies für den Betrieb der Website, Analyse und Personalisierung. Die Datenverarbeitung erfolgt gemäß der Datenschutzerklärung.
alle akzeptieren anpassen ablehnen