Wprowadzenie do programowania obiektowego
Część sekcji Programowanie obiektowe ścieżki PHP w Coddy. Lekcja 2 z 91.
Programowanie obiektowe (OOP) organizuje kod wokół obiektów, które zawierają dane (właściwości) i funkcje (metody).
Utwórz plik o nazwie car.php z klasą
<?php
class Car {
// puste ciało klasy
}Utwórz kolejny plik o nazwie driver.php, aby użyć klasy
<?php
require_once 'car.php';Utwórz obiekt klasy Car, używając słowa kluczowego new
$myCar = new Car();Sprawdź klasę swojego obiektu
echo get_class($myCar);Wynik:
CarTo potwierdza, że udało Ci się utworzyć obiekt na podstawie klasy Car. W programowaniu obiektowym klasa przypomina projekt, a obiekt to coś, co tworzysz na jego podstawie. Słowo kluczowe new tworzy nową instancję klasy.
Wyzwanie
ŚredniW tym wyzwaniu użyjesz klasy Car zdefiniowanej w pliku car.php i utworzysz na jej podstawie obiekt w pliku driver.php.
Musisz zaktualizować plik driver.php:
- Utwórz obiekt klasy
Carza pomocą słowa kluczowegonewi zapisz go w zmiennej$myCar
Plik driver wypisze nazwę klasy, aby zweryfikować Twoją implementację.
Spróbuj swoich sił
<?php
require_once 'car.php';
// TODO: Utwórz obiekt klasy Car
$myCar = ?;
// Wypisz klasę obiektu $myCar
echo get_class($myCar) . "\n";
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