Methoden
Teil des Abschnitts Objektorientierte Programmierung der PHP-Journey von Coddy — Lektion 5 von 91.
Methoden sind Funktionen, die zu einer Klasse gehören. Sie definieren die Verhaltensweisen oder Aktionen, die Objekte ausführen können.
Hier ist ein Beispiel für eine Klasse mit Methoden:
<?php
class Calculator {
public function greet() {
echo "Hello! I'm a calculator.\n";
}
public function add($a, $b) {
return $a + $b;
}
public function multiply($x, $y) {
$result = $x * $y;
echo $x . " × " . $y . " = " . $result . "\n";
return $result;
}
}Erstellen Sie ein Calculator-Objekt:
$myCalc = new Calculator();Rufen Sie eine Methode auf, die keine Parameter benötigt:
$myCalc->greet();Methoden mit Parametern aufrufen:
$sumResult = $myCalc->add(5, 3);
echo $sumResult . "\n";Rufen Sie eine Methode auf, die sowohl einen Wert ausgibt als auch zurückgibt:
$product = $myCalc->multiply(4, 7);Ausgabe:
Hello! I'm a calculator.
8
4 × 7 = 28Methoden können:
- Parameter entgegennehmen, wie
add($a, $b) - Werte zurückgeben, wie
return $a + $b;
- Ausgabe direkt ausgeben wie
echo "Hello!"; - Sowohl ausgeben als auch zurückgeben
Wichtiger Punkt: Methoden definieren, was Ihre Objekte tun können. Verwenden Sie die public function Schlüsselwörter, um eine Methode innerhalb einer Klasse zu definieren. Rufen Sie Methoden mit dem -> Operator auf einem Objekt auf.
Aufgabe
EinfachErstellen Sie eine BankAccount-Klasse in bank_account.php mit:
- Einer
public $balance-Eigenschaft - Einer
deposit-Methode, die einen Betrag entgegennimmt und ihn zum Kontostand hinzufügt - Einer
withdraw-Methode, die einen Betrag entgegennimmt und ihn vom Kontostand abzieht - Einer
getBalance-Methode, die den aktuellen Kontostand zurückgibt
Erstellen Sie dann in driver.php ein Konto mit einem Kontostand von 0, zahlen Sie $100 ein, heben Sie $30 ab und geben Sie den Kontostand im Format "Current balance: $[balance]" aus.
Spickzettel
Methoden sind Funktionen, die zu einer Klasse gehören und die Verhaltensweisen oder Aktionen definieren, die Objekte ausführen können.
Definieren Sie Methoden innerhalb einer Klasse mit public function:
<?php
class Calculator {
public function greet() {
echo "Hello! I'm a calculator.\n";
}
public function add($a, $b) {
return $a + $b;
}
public function multiply($x, $y) {
$result = $x * $y;
echo $x . " × " . $y . " = " . $result . "\n";
return $result;
}
}Rufen Sie Methoden mit dem ->-Operator für ein Objekt auf:
$myCalc = new Calculator();
$myCalc->greet();
$sumResult = $myCalc->add(5, 3);
$product = $myCalc->multiply(4, 7);Methoden können:
- Parameter entgegennehmen:
add($a, $b) - Werte zurückgeben:
return $a + $b; - Ausgaben drucken:
echo "Hello!"; - Sowohl drucken als auch zurückgeben
Probier es selbst
<?php
require_once 'bank_account.php';
$myAccount = new BankAccount();
$myAccount->balance = 0;
// TODO: 100 einzahlen
// TODO: 30 abheben
// TODO: Den Kontostand im Format "Current balance: $[balance]" ausgeben
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