5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

: Mops ( オブジェクト指向FORTH -- ) ;

193 :192:02/02/15 07:43
使用例:

クラス定義

object class
cell var text
cell var len
cell var x
cell var y
method init
method draw
end-class button

メソッド定義

:noname ( o -- ) >r
r@ x @ r@ y @ at-xy r@ text @ r> len @ type ;
button defines draw

:noname ( addr u o -- ) >r
0 r@ x ! 0 r@ y ! r@ len ! r> text ! ;
button defines init

継承

button class
end-class bold-button

: bold 27 emit ." [1m" ;
: normal 27 emit ." [0m" ;

:noname bold [ button :: draw ] normal ; bold-button defines draw

インスタンスの生成とメソッド呼び出し

button new Constant foo
s" thin foo" foo init
page
foo draw

bold-button new Constant bar
s" fat bar" bar init
1 bar y !
bar draw


97 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)