Klasy i metody abstrakcyjne w PHP
Stronę tą wyświetlono już: 8238 razy
Tworzenie obiektów niektórych klas nie ma większego sensu, np. tworząc klasę figura nie deklaruje się jej z myślą o tworzeniu jej obiektów, a jedynie z myślą wykorzystania jej do zaimplementowania wspólnych elementów dla wszystkich obiektów będących figurami geometrycznymi. Tak więc przykładowo klasa okrąg będzie dziedziczyła po klasie figura. A jakie są cechy wspólne dla wszystkich figur geometrycznych? Np. pole powierzchni, obwód. Niektóre obiekty będą miały własne cechy szczególne jaką w przypadku koła jest promień i średnica. Każda figura powinna mieć zaimplementowaną metodę rysującą, która powinna być zadeklarowana właśnie w klasie figura.
Deklaracje klas, których obiektów nie powinno się tworzyć w PHP wprowadzono słowo kluczowe abstract. Klasa figura będzie więc klasą abstrakcyjną. Oto przykładowa implementacja takiej klasy (z użyciem angielskiego nazewnictwa):
W powyższym kodzie klasa Figure ma metody abstrakcyjne, które muszą być obsłużone przez każdą klasę po niej dziedziczącą. Dzięki temu programista ma pewność, że dany zestaw klas będzie poprawnie obsługiwał wszystkie metody wspólne dla danego zbioru klas (którym w tym przypadku jest figura). Dodatkowo klasa Figure w konstruktorze i destruktorze zlicza ile jest aktualnie utworzonych obiektów będących figurami geometrycznymi.
Wynik działania powyższego kodu:
(Dodawanie) Aktualna liczba utworzonych figur geometrycznych: 1
(Dodawanie) Aktualna liczba utworzonych fugur geometrycznych: 2
Koło: x = 10; y = 10; szerokość = 100; wysokość = 100
Koło: xc = 10; yc = 10; promień = 100
(Usuwanie) Aktualna liczba utworzonych figur geometrycznych: 1
(Usuwanie) Aktualna liczba utworzonych fugur geometrycznych: 0
Tytuł:
PHP i MySQL. Aplikacje internetowe po stronie serwera
Autor:
Jon Duckett
Tytuł:
PHP 8 i SQL. Programowanie dla początkujących w 43 lekcjach
Autor:
Mariusz Duka
Tytuł:
CodeIgniter 4. Zaawansowane tworzenie stron WWW w PHP
Autor:
Łukasz Sosna
Tytuł:
PHP 7 MySQL 8 i Maria DB Praktyczny podręcznik
Autor:
Steve Prettyman, Adrian W. West
Tytuł:
PHP i MySQL. Dynamiczne strony WWW. Szybki start. Wydanie V
Autor:
Larry Ullman
Tytuł:
PHP 7. Algorytmy i struktury danych
Autor:
Mizanur Rahman
Tytuł:
PHP i MySQL. Tworzenie stron WWW. Vademecum profesjonalisty. Wydanie V
Autor:
Luke Welling, Laura Thomson
Tytuł:
PHP i jQuery. Techniki zaawansowane. Wydanie II
Autor:
Keith Wald, Jason Lengstorf
Tytuł:
Laravel 4. Podstawy tworzenia aplikacji w PHP
Autor:
Raphaël Saunier
Tytuł:
Magento. Przewodnik dla programistów PHP
Autor:
Allan MacGregor