Ruby/Moduły: Różnice pomiędzy wersjami

Usunięta treść Dodana treść
Szymon wro (dyskusja | edycje)
Szymon wro (dyskusja | edycje)
Linia 39:
Domieszkowanie klas może być rozważane jako odpowiedź na pytanie o wszelkie partykularne własności, które chcemy mieć. Na przykład, jeżeli klasa ma działającą metodę <tt>each</tt>, zmieszanie jej ze standardowym modułem <tt>Enumerable</tt> da nam dodatkowo metody <tt>sort</tt> oraz <tt>find</tt>. Dzieje się tak, ponieważ metody z modułu <tt>Enumerable</tt> używają właśnie metody <tt>each</tt>.
 
Takie użycie modułów dostarcza podstawowej funkcjonalności wielokrotnego dziedziczenia, pozwalając jednocześnie, by relacje pomiędzy klasami były nadal reprezentowane za pomocą prostych struktur drzewiastych. W ten sposób upraszcza się znacząco implementacja języka (podobny punkt widzenia został przyjęty przez projektantów Javy). WieluDomieszkowanie programistomwydaje domieszkowaniesię wpoza Rubimtym wydaje siędużo wygodniejsze niż wielokrotne dziedziczenie i dużo efektywniejsze niż np. stosowane w C# i Javie - interfejsy.
 
=== Przykładowy moduł ===