Utwórz obiekt (konstruktor synchroniczny)
(newobject)
newobject [instrukcje]
(newobject [instrukcje] wyrażenie1 wyrażenie2 ...)
newobject funkcja
(newobject funkcja wyrażenie1 wyrażenie2 ...)
(newo)
newo [instrukcje]
(newo [instrukcje] wyrażenie1 wyrażenie2 ...)
newo funkcja
(newo funkcja wyrażenie1 wyrażenie2 ...)
Tworzy nowy obiekt. Lista instrukcji lub funkcja podane jako argument są wykonywane jako konstruktor
nowego obiektu. Obiekt/żółw wywołujący instrukcję newobject
czeka na
zakończenie wykonania konstruktora. Argumenty konstruktora mogą być podane jako opcjonalne wyrażenia.
Obiekt w POOL jest uproszczoną wersją żółwia. Obiekty nie posiadają reprezentcji graficznej i nie mogą obsługiwać
zdarzeń związanych z grafiką (np. kliknięć myszy). Dzięki temu obiekty zajmują mniej pamięci, są szybciej tworzone
i szybciej wykonują polecenia.
Przykład 1:
"t := (newo)
print who
print children
print parent @ :t
print who @ :t
Rezultat wykonania:
first
[o1]
first
o1
Przykład 2:
"t := newo [
"x := 10
print who
]
print :x @ :t
Rezultat wykonania:
o1
10
Przykład 3:
to model :x
to fn
op :zmienna^2
end
let "zmienna :x
(print who :x)
end
"t := (newo $model 5)
print fn @ :t
Rezultat wykonania:
model1 5
25
Zobacz także:
Żółw - obiekt
Synchronizacja wielu obiektów
Spis treści