1. Nauka
  2. /
  3. Kursy
  4. /
  5. Programowanie obiektowe z S3 i R6 w R

Connected

ćwiczenie

Udostępnianie klasy nadrzędnej

Domyślnie klasy R6 mają dostęp wyłącznie do funkcjonalności swojej bezpośredniej klasy nadrzędnej. Aby umożliwić dostęp przez wiele poziomów dziedziczenia, klasy pośrednie muszą zdefiniować aktywne powiązanie (active binding), które udostępnia ich klasę nadrzędną. Wygląda to następująco:

active = list(
  super_ = function() super
)

Instrukcje

100 XP

W twoim środowisku pracy jest już wstępnie zdefiniowana klasa kuchenki mikrofalowej.

  • Rozszerz klasę fancy microwave oven, dodając element listy active.
  • Dodaj aktywne powiązanie, które udostępni funkcjonalność jej klasy nadrzędnej.
    • Powiązanie powinno mieć nazwę super_.
    • Powinno być funkcją, która nie przyjmuje żadnych argumentów i po prostu zwraca super.
  • Utwórz instancję obiektu fancy microwave i przypisz ją do zmiennej a_fancy_microwave.
  • Wywołaj powiązanie super_ obiektu fancy microwave.