Deklaracja dziedziczenia z klasy bazowej
use wywołanie_funkcji
(use wywołanie1 wywołanie2 ...)
Deklaracja klasy bazowej. Funkcja w POOL użyta jako opis klasy jest jednocześnie używana jako konstruktor. Analogicznie
- deklaracja klasy bazowej jest jednocześnie instrukcją wywołania konstruktora klasy bazowej.
Instrukcja use
może być użyta tylko w definicji funkji,
bezpośrednio po nagłówku to nazwa_funkcji argumenty
.
Wielokrotne dziedziczenie może być zadeklarowane z użyciem opcjonalnych argumentów use
lub osobne wywołania tej instrukcji dla każdej klasy bazowej. Wywołanie funkcji jest standardowym zapisem, w którym
można używać obowiązkowych i domyślnych argumentów funkcji. Można także użyć instrukcji dynamicznego wywołania funkcji
call
; w tym przypadku dopuszczalne są klasy bazowe o liczbie
argumentów konstruktora zgodnej z liczbą argumentów instrukcji call
:
to prototyp1
end
to prototyp2 :parametr
end
to model1
use prototyp2 "stała
end
to model2 :p1 :p2
(use prototyp1 prototyp2 :p1)
end
to model3 :proto
use call :proto
end
Przykład:
to prototyp :parametr
to fn op :x end
let "x :parametr
end
to model :p1 :p2
use prototyp :p1
to fn op :x + :y end
let "y :p2
end
"p := (newt $prototyp 2)
"m := (newt $model 2 3)
print fn @ :p
print fn @ :m
Rezultat wykonania:
2
5
Zobacz także:
Dziedziczenie, funkcje wirtualne
Żółw - obiekt
Dynamiczne wywołanie funkcji
Spis treści