Einführung in die 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.
Spickzettel
Objektorientierte Programmierung (OOP) organisiert Code um Objekte, die Daten (Eigenschaften) und Funktionen (Methoden) enthalten.
Definieren Sie eine Klasse:
<?php
class Car {
// leerer Klassenkörper
}Binden Sie eine Klassendatei in eine andere Datei ein:
<?php
require_once 'car.php';Erstellen Sie ein Objekt aus einer Klasse mit dem Schlüsselwort new:
$myCar = new Car();Überprüfen Sie die Klasse eines Objekts:
echo get_class($myCar); // Ausgabe: CarEine Klasse ist wie ein Bauplan, und ein Objekt ist eine Instanz, die aus diesem Bauplan erstellt wurde.
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 die OOPKlassen vs. ObjekteDas $this-SchlüsselwortMethodenEigenschaftenKonstruktor (__construct)Destruktor (__destruct)Rückblick - Einfacher Taschenrechner4Vererbung
Grundlagen der VererbungDas parent:: SchlüsselwortMethoden überschreibenDas final SchlüsselwortAbstrakte KlassenZusammenfassung – Mitarbeiter-Hierarchie7Kapselung
Public, Protected, PrivateZugriffsmodifikatoren im DetailGetter und SetterInformation HidingConstructor Promotion (8.0)Zusammenfassung – Studentenverwaltungssystem2Namensräume & Autoloading
Einführung in NamensräumeDas use-SchlüsselwortPSR-4 Autoloading-StandardComposer AutoloaderZusammenfassung – Organisiertes Projekt5Interfaces & Verträge
Einführung in InterfacesInterfaces implementierenMehrfache Interface-ImplementierungInterface vs. Abstrakte KlasseType Hinting mit InterfacesZusammenfassung – Formen-Rechner8Magische Methoden
Einführung in magische Methoden__toString & __debugInfo__get, __set, __isset, __unset__call & __callStatic__clone & Objekt-Klonen__serialize & __unserializeZusammenfassung - Eigene Collection11Typsystem & Fehlerbehandlung
TypdeklarationenNullable-TypenUnion- & Intersection-TypenException-KlassenEigene Exception-HierarchieTry, Catch, FinallyZusammenfassung - Formular-Validator14Projekt: Bibliotheksverwaltung
ProjektübersichtBuch- und Benutzerklassen3Klasseneigenschaften
Instanz- vs. statische EigenschaftenKonstanten in KlassenStatische Methoden & EigenschaftenPrivate & geschützte EigenschaftenReadonly-Eigenschaften (PHP 8.1)Zusammenfassung – Bankkonto-Manager6Polymorphismus
Method Overriding erneut betrachtetPolymorphismus über InterfacesType Hinting & Union TypesLate Static BindingZusammenfassung – Payment Processor9Traits
Einführung in TraitsVerwendung mehrerer TraitsKonfliktlösung bei TraitsAbstrakte Methoden in TraitsTraits vs. Vererbung12Entwurfsmuster Teil 1
Einführung in EntwurfsmusterSingleton-MusterFactory-MusterObserver-MusterStrategy-Muster15Abschlussherausforderungen
E-Learning-PlattformBanksystemSpielcharakter-EntwicklungFahrzeugvermietung