keyword extends


extendsPodręcznik PHPPoprzedniRozdział 14. 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) Taka relacja nazywana jest często relacją "rodzic-potomek". Tworzysz klasę - rodzica - i używasz extends aby stworzyć klasę opartą o klasę rodzica: klasę potomną. Możesz także tworzyć nowe klasy potomne oparte o tą klasę potomną. Notatka: Klasy musza być zdefiniowane zanim zostaną użyte! Jeśli chcesz, aby klasa Nazwany_Koszyk rozszerzała klasę Koszyk, musisz zdefiniować klasę Koszyk jako pierwszą. Jeśli chcesz stworzyć kolejną klasę nazwaną Niebieski_Nazwany_Koszyk opartą o klasę Nazwany_Koszyk, musisz najpierw zdefiniować klasę Nazwany_Koszyk. W skrócie: kolejność, w jakiej klasy są definiowane, jest bardzo ważna. PoprzedniSpis treściNastępnyKlasy i ObiektyPoczątek rozdziałuKonstruktory

Wyszukiwarka

Podobne podstrony:
keyword extends
keyword extends
option extended valid elements
keywords
extend relationship?38D814
EXTENDING
EXTENDING
keywords
adv?d keywords
adv modify keywords
Q190987 Extended Stored Procedures
Keyword Self Test
keyword paamayim nekudotayim
keywords
using extended help?818AFE
keywords

więcej podobnych podstron