8.8. Delegowanie wywołań metod do innego obiektu

Problem

Chcemy delegować wywołania niektórych metod obiektu do innego obiektu, bądź też uczynić jeden obiekt „uosobieniem” drugiego.

Rozwiązanie

Uosobienia obiektu lub wydelegowania większości wywołań jego metod dokonać można najłatwiej za pomocą biblioteki delegate. Realizuje ona generowanie specjalnych klas, których obiekty stanowią uosobienia obiektów innej klasy. Zadaniem tych specjalnych klas jest odpowiadanie na wywołania metod klasy, którą przesłaniają; nie wykonują one same z siebie żadnych czynności poza wywoływaniem metod o określonych nazwach w określonych instancjach „rzeczywistej” klasy.

W poniższym przykładzie biblioteka delegate wykorzystywana jest do wygenerowania klasy ...

Get Ruby. Receptury now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.