Metody
Część sekcji Programowanie obiektowe ścieżki PHP w Coddy. Lekcja 5 z 91.
Metody to funkcje należące do klasy. Określają zachowania lub działania, które mogą wykonywać obiekty.
Oto przykład klasy z metodami:
<?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;
}
}Utwórz obiekt kalkulatora:
$myCalc = new Calculator();Wywołaj metodę, która nie wymaga parametrów:
$myCalc->greet();Wywołuj metody z parametrami:
$sumResult = $myCalc->add(5, 3);
echo $sumResult . "\n";Wywołaj metodę, która zarówno wyświetla, jak i zwraca wartość:
$product = $myCalc->multiply(4, 7);Wynik:
Hello! I'm a calculator.
8
4 × 7 = 28Metody mogą:
- Przyjmować parametry, takie jak
add($a, $b) - Zwracać wartości, takie jak
return $a + $b;
- Wyświetlaj wynik bezpośrednio, na przykład
echo "Hello!"; - Wykonuj zarówno wyświetlanie, jak i zwracanie wartości
Najważniejsza informacja: Metody określają, co mogą robić Twoje obiekty. Użyj słów kluczowych public function, aby zdefiniować metodę wewnątrz klasy. Wywołuj metody za pomocą operatora -> na obiekcie.
Wyzwanie
ŁatwyUtwórz klasę BankAccount w pliku bank_account.php z:
- Właściwością
public $balance - Metodą
deposit, która przyjmuje kwotę i dodaje ją do salda - Metodą
withdraw, która przyjmuje kwotę i odejmuje ją od salda - Metodą
getBalance, która zwraca bieżące saldo
Następnie w pliku driver.php utwórz konto z saldem 0, wpłać $100, wypłać $30 i wypisz saldo w formacie: "Current balance: $[balance]"
Spróbuj swoich sił
<?php
require_once 'bank_account.php';
$myAccount = new BankAccount();
$myAccount->balance = 0;
// TODO: Wpłać 100
// TODO: Wypłać 30
// TODO: Wyświetl saldo w formacie: "Current balance: $[balance]"
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Programowanie obiektowe
1Podstawy programowania obiektowego
Pliki zewnętrzneWprowadzenie do programowania obiektowegoKlasy a obiektySłowo kluczowe $thisMetodyWłaściwościKonstruktor (__construct)Destruktor (__destruct)Powtórka — prosty kalkulator4Dziedziczenie
Podstawy dziedziczeniaSłowo kluczowe parent::Przesłanianie metodSłowo kluczowe finalKlasy abstrakcyjnePowtórzenie – hierarchia pracowników7Enkapsulacja
Public, protected, privateModyfikatory dostępu w szczegółachGettery i setteryUkrywanie informacjiPromocja parametrów konstruktora (8.0)Podsumowanie — system ewidencji studentów2Przestrzenie nazw i autoloading
Wprowadzenie do przestrzeni nazwSłowo kluczowe useStandard autoloadingu PSR-4Autoloader ComposeraPodsumowanie – uporządkowany projekt5Interfejsy i kontrakty
Wprowadzenie do interfejsówImplementowanie interfejsówImplementowanie wielu interfejsówInterfejs a klasa abstrakcyjnaPodpowiadanie typów za pomocą interfejsówPodsumowanie — kalkulator kształtów8Metody magiczne
Wprowadzenie do metod magicznych__toString i __debugInfo__get, __set, __isset, __unset__call i __callStatic__clone i klonowanie obiektów__serialize i __unserializePodsumowanie — własna kolekcja11System typów i obsługa błędów
Deklaracje typówTypy nullableTypy sumy i przecięciaKlasy wyjątkówNiestandardowa hierarchia wyjątkówTry, Catch, FinallyPodsumowanie — walidator formularzy14Projekt: Zarządzanie biblioteką
Przegląd projektuKlasy książki i użytkownika3Właściwości klas
Właściwości instancji a właściwości statyczneStałe w klasachMetody i właściwości statyczneWłaściwości prywatne i chronioneWłaściwości tylko do odczytu (PHP 8.1)Podsumowanie — menedżer kont bankowych6Polimorfizm
Ponowne omówienie nadpisywania metodPolimorfizm za pomocą interfejsówPodpowiedzi typów i typy sumyPóźne wiązanie statycznePodsumowanie — procesor płatności9Cechy
Wprowadzenie do cechKorzystanie z wielu cechRozwiązywanie konfliktów cechMetody abstrakcyjne w cechachCechy a dziedziczenie12Wzorce projektowe, część 1
Wprowadzenie do wzorców projektowychWzorzec SingletonWzorzec FactoryWzorzec ObserverWzorzec StrategyPoćwicz samodzielnie: Kompilator PHP online