Zpo-11-wyk-Slajd48

Z Studia Informatyczne
Wersja z dnia 17:37, 4 lis 2006 autorstwa Bwalter (dyskusja | edycje)
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)
Przejdź do nawigacjiPrzejdź do wyszukiwania

Introduce Local Extension

Introduce Local Extension


Innym rozwiązaniem problemu niekompletnej biblioteki jest utworzenie jej rozszerzenia w postaci podklasy lub opakowania. Dzięki temu możliwe jest (w przeciwieństwie do poprzedniego przekształcenia) umieszczenie metod we właściwym miejscu. Wybór pomiędzy dziedziczeniem a delegacją często podyktowany jest możliwościami zastosowania jednej albo drugiej techniki: dziedziczenie wymaga, aby klasa biblioteczna nie była sfinalizowana, natomiast delegacja – publicznego dostępu do najważniejszych metod.

Mechanika przekształcenia polega na utworzeniu klasy-rozszerzenia, zdefiniowaniu w niej konstruktora (w przypadku delegacji musi to być konstruktor konwertujący – zob. wzorzec Decorator) i dodaniu nowych funkcji. Ostatnim krokiem jest aktualizacja klientów, którzy wymagają dostępu do rozszerzonej klasy.


<< Poprzedni slajd | Spis treści | Następny slajd >>