Unsere Datenschutzrichtlinie wird in Kürze aktualisiert. Bitte sehen Sie sich die Vorschau an.

PHP 5.4 & MySQL 5.6 Grundkurs

Vererbung

Testen Sie unsere 2021 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Die Vererbung ist ein zentrales Konzept in der objektorientierten Programmierung. Sie ermöglicht es, Code wiederzuverwenden und bei Bedarf zu erweitern. Welche Vorteile das bietet, erläutert dieses Video anhand eines praktischen Beispiels.

Transkript

Die Vererbung ist ein zentrales Konzept bei der objektorientierten Programmierung. Hierüber können Sie Basisklassen erweitern und mit zusätzlichen Funktionen ausstatten, Sie können also etwas damit realisieren, was genauso ist und in Details anders. Sie sehen hier erst einmal eine Basisklasse, das ist die Klasse Kunde. Und die hat ein paar Eigenschaften und Methoden, damit wir Material haben, um das Konzept der Vererbung zu verdeutlichen. Den Kunden hier in dieser Klasse soll immer Speicherplatz zur Verfügung gestellt werden. Und über die Klasse soll die Speichermenge verwaltet werden. Und die Speichermenge ist dabei natürlich begrenzt. Das sehen Sie hier über diese Eigenschaft. speicherGesamt ist begrenzt. Und es gibt außerdem eine Eigenschaft speicherVerbraucht. Sehen wir uns die einzelnen Methoden an. Die Methode speichern überprüft zuerst beim speichern, ob genügend Speicher zur Verfügung steht und verringert den freien Speicher nach dem Speichervorgang. Die Methode speicherFreigeben macht das, was der Name vermuten lässt, sie gibt Speicher frei. Und außerdem gibt es eine Methode zustandAusgeben, die den aktuell verfügbaren Speicher ausliest. Und dann sehen Sie, hier wird jetzt diese Klasse verwendet, und ein neuer Kunde erstellt. Es wird dann immer der Zustand ausgegeben, das heißt, wieviel Speicher steht zur Verfügung, und dann werden verschiedene Mengen gespeichert. Schauen wir einmal kurz dieses Beispiel an. Dann sehen Sie hier, immer wird angegeben, wieviel Speicher verbraucht ist, wieviel frei ist etc. Die einzelnen genauen Details, wie das jetzt hier realisiert ist, mit berechnen vom Speicher etc. sind nicht wichtig. Es geht mehr um das Prinzip, damit Sie sehen können, wie wir jetzt hier die Vererbung einsetzen. Folgendes, es soll nämlich jetzt neben den normalen Kunden auch noch Premiumkunden geben. Diesen Premiumkunden steht mehr Speicherplatz zur Verfügung, und außerdem haben Sie dann auch noch mehr Konfigurationsmöglichkeiten. So etwas kann ich jetzt realisieren über die Vererbung, indem ich jetzt eine neue Klasse definiere Premiumkunde und sage, diese erweitert die Klasse Kunde. Ganz wichtig ist hier das Schlüsselwort extends. Natürlich muss das Skript, das ja ausgeführt wird, auch auf die Kunden-Definition zugreifen können, deswegen habe ich hier oben die entsprechenden Angaben eingebunden. Jetzt möchte ich, dass die Premiumkunden mehr Speicher zur Verfügung haben. Und dafür genügt es folgende Klassen-Definition zu schreiben. Sie sehen, ich habe jetzt hier die Eigenschaft speicherGesamt, wie beim normalen Kunden auf 50 gesetzt, zwar hier auf 100 gesetzt. Sonst bleibt alles erstmal gleich. Wenn Sie jetzt hier einen neuen Premiumkunden erstellen, sehen Sie, das wird hier gemacht. Und wie eben die verschiedenen Methoden zum speichern und Speicher freigeben aufrufen, werden Sie sehen, dass es geklappt hat. Der Premiumkunde hat alle Eigenschaften und Methoden geerbt. Allerdings hat er mehr Gesamtspeicherplatz. Schauen wir uns das hier einmal an. Genau, da sehen Sie am Anfang wird ausgegeben 100 ist frei, weil der hat ja mehr Speicherplatz zur Verfügung. In diesem Beispiel hier wurde die Eigenschaft speicherGesamt überschrieben. Ebenso lassen sich aber auch Methoden überschreiben, oder zusätzliche Eigenschaften und Methoden definieren. Wenn der Premiumkunde jetzt seine Benutzeroberfläche wählen kann, und dies wird über den Konstruktor übergeben, so können Sie auch den Konstruktor überschreiben. Das habe ich jetzt hier in dieser Variante hier. Also, wir haben hier wieder die Definition des Premiumkunde und sagen extends Kunde. Damit greift es auf alles, was vorher dort definiert ist, zu. Das hatten wir ja eben schon, dass die Eigenschaft neu gesetzt wird. Und jetzt sehen Sie hier folgendes. Jetzt wird auch der Konstruktor überschrieben, nämlich folgendermaßen, dass hier auch noch ein Farbschema angegeben werden kann, was defaultmäßig auf Sonnenaufgang gesetzt wird. Bei der Erstellung eines Kunden, können dann drei Parameter hier übergeben werden. Und dann kann man die einzelnen Sachen ausgeben lassen. Sehen wir uns auch einmal diese Beispiel an hier. Genau, dann sehen Sie da auch, dass die Konfiguration hier an dieser Stelle übergeben wurde. Sie können also eine Klasse wiederverwenden, indem Sie eine neue Klasse erstellen, und bei der extends Basisklasse schreiben. Die auf diese Art abgeleitete Klasse erbt die Methoden und Eigenschaften der Elternklasse, aber Sie können bei Bedarf Methoden und Eigenschaften überschreiben, so wie wir das hier getan haben. Auf diese Art nehmen Sie von der Basisklasse nur das, was Sie brauchen. Und das andere ändern Sie. Und es ist damit eine schöne Möglichkeit, Code wiederzuverwenden.

PHP 5.4 & MySQL 5.6 Grundkurs

Steigen Sie auch ohne Vorwissen in die Programmierung PHP- & MySQL-basierter Webseiten ein und lernen Sie die Sprachgrundlagen wie Bedingungen, Schleifen, Funktionen usw. kennen.

7 Std. 9 min (86 Videos)
Derzeit sind keine Feedbacks vorhanden...
 

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!