extendsPodręcznik PHPPoprzedniRozdział 13. Klasy i ObiektyNastępnyextends
Bardzo często zachodzi potrzeba stworzenia klasy o funkcjach i zmiennych
podobnych do już istniejącej klasy. Zasadniczo dobrze jest stworzyć
szablonową klasę, która może być użyta we wszystkich twoich projektach i
przystosowywać ją do specyficznych potrzeb twojego projektu. Aby ułatwić
ten proces, klasy mogą być rozszerzeniami innych klas. Rozszerzone, lub
mówiąc inaczej 'dziedziczone', klasy mają wszystkie zmienne i funkcje
klasy podstawowej (nazywa się to dziedziczeniem, mimo że nikt nie
umarł) oraz to co do niej dodałeś w definicji rozszerzenia. Nie można
odjąć pewnych rzeczy z klasy podstawowej, czyli oddefiniować istniejących
w klasie podstawowej funkcji i zmiennych. Rozszerzona klasa jest zawsze
zależna od jednej klasy bazowej - dziedziczenie wielokrotne nie jest
obsługiwane. Klasy można rozszerzyć używając słowa kluczowego 'extends'.
class Nazwany_Koszyk extends Koszyk
{
var $wlasciciel;
function ustaw_wlasciciela ($nazwa)
{
$this->wlasciciel = $nazwa;
}
}
Definiuje to klasę Nazwany_Koszyk, który ma wszystkie zmienne i funkcje
klasy Koszyk plus dodatkowa zmienna $wlasciciel i dodatkowa funkcja
ustaw_wlasciciela(). Nazwany koszyk tworzy się normalnym sposobem.
Możesz teraz ustawiać i pobierać nazwę właściciela koszyka. Cały czas
możesz używać zwykłych funkcji koszyka dla nazwanego koszyka:
$nkoszyk = new Nazwany_Koszyk; // Stwórz nazwany koszyk
$nkoszyk->ustaw_wlasciciela("kris"); // Nazwij koszyk
print $nkoszyk->wlasciciel; // Wyświetl właściciela koszyka
$nkoszyk->dodaj_przedmiot("10", 1); // (funkcjonalność odziedziczona z
// koszyka)PoprzedniSpis treściNastępnyKlasy i ObiektyPoczątek rozdziałuKonstruktory
Wyszukiwarka
Podobne podstrony:
keyword extendskeyword extendsoption extended valid elementskeywordsextend relationship?38D814EXTENDINGEXTENDINGkeywordsadv?d keywordsadv modify keywordsQ190987 Extended Stored ProceduresKeyword Self Testkeyword paamayim nekudotayimkeywordsusing extended help?818AFEkeywordswięcej podobnych podstron