Einführung in OOP
Teil des Abschnitts Objektorientierte Programmierung der PHP-Journey von Coddy. Lektion 2 von 91.
Objektorientierte Programmierung (OOP) organisiert Code um Objekte, die Daten (Eigenschaften) und Funktionen (Methoden) enthalten.
Erstellen Sie eine Datei namens car.php mit einer Klasse
<?php
class Car {
// leerer Klassenkörper
}Erstellen Sie eine weitere Datei namens driver.php, um die Klasse zu verwenden
<?php
require_once 'car.php';Erstellen Sie ein Objekt der Klasse Car mit dem new Schlüsselwort
$myCar = new Car();Überprüfen Sie die Klasse Ihres Objekts
echo get_class($myCar);Ausgabe:
CarDies bestätigt, dass du erfolgreich ein Objekt aus deiner Car-Klasse erstellt hast. In der OOP ist eine Klasse wie ein Bauplan, und ein Objekt ist das, was du aus diesem Bauplan erstellst. Das Schlüsselwort new erstellt eine neue Instanz der Klasse.
Aufgabe
MittelIn dieser Challenge verwendest du eine Car-Klasse, die in car.php definiert ist, und erstellst daraus ein Objekt in driver.php.
Du musst driver.php aktualisieren:
- Erstelle ein Objekt aus der
Car-Klasse mit dem Schlüsselwortnewund speichere es in$myCar
Die Driver-Datei wird den Klassennamen ausgeben, um deine Implementierung zu überprüfen.
Probier es selbst
<?php
require_once 'car.php';
// TODO: Erstellen Sie ein Objekt aus der Klasse Car
$myCar = ?;
// Geben Sie die Klasse von $myCar aus
echo get_class($myCar) . "\n";
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Objektorientierte Programmierung
1Grundlagen der OOP
Externe DateienEinführung in OOPKlassen vs. ObjekteDas Schlüsselwort $thisMethodenEigenschaftenKonstruktor (__construct)Destruktor (__destruct)Rückblick – Einfacher Taschenrechner4Vererbung
Grundlegende VererbungDas Schlüsselwort parent::MethodenüberschreibungDas Schlüsselwort finalAbstrakte KlassenRückblick – Mitarbeiterhierarchie7Kapselung
Öffentlich, geschützt, privatZugriffsmodifikatoren im DetailGetter und SetterInformationsverbergungKonstruktor-Promotion (8.0)Wiederholung – System zur Verwaltung von Schülerdatensätzen2Namespaces & Autoloading
Einführung in NamespacesDas use-SchlüsselwortPSR-4-Autoloading-StandardComposer-AutoloaderRückblick – Organisiertes Projekt5Schnittstellen & Verträge
Einführung in SchnittstellenSchnittstellen implementierenMehrere Schnittstellen implementierenSchnittstelle vs. abstrakte KlasseTyp-Hinweise mit SchnittstellenRückblick – Formrechner8Magische Methoden
Einführung in magische Methoden__toString & __debugInfo__get, __set, __isset, __unset__call & __callStatic__clone & Objektklonen__serialize & __unserializeRückblick – Benutzerdefinierte Sammlung11Typsystem & Fehlerbehandlung
TypdeklarationenNullable-TypenUnion- & Intersection-TypenException-KlassenBenutzerdefinierte Exception-HierarchieTry, Catch, FinallyRückblick – Formularvalidator14Projekt: Bibliotheksverwaltung
ProjektübersichtBuch- und Benutzerklassen3Klassen-Eigenschaften
Instanz- vs. statische EigenschaftenKonstanten in KlassenStatische Methoden & EigenschaftenPrivate & geschützte EigenschaftenSchreibgeschützte Eigenschaften (PHP 8.1)Zusammenfassung – Bankkonto-Manager6Polymorphie
Methodenüberschreibung erneut betrachtetPolymorphie über SchnittstellenTyp-Hinweise & Union-TypenSpätes statisches BindenRückblick – Zahlungsabwickler9Traits
Einführung in TraitsMehrere Traits verwendenAuflösung von Trait-KonfliktenAbstrakte Methoden in TraitsTraits vs. Vererbung12Entwurfsmuster Teil 1
Einführung in EntwurfsmusterSingleton-MusterFactory-MusterObserver-MusterStrategy-Muster15Abschließende Herausforderungen
E-Learning-PlattformBankingsystemEntwicklung einer SpielfigurFahrzeugvermietungÜbe selbstständig: Online-PHP-Compiler