1*a1bf3f78SToomas Soome\ OOP test stuff 2*a1bf3f78SToomas Soome 3*a1bf3f78SToomas Soomeonly 4*a1bf3f78SToomas Soomealso oop definitions 5*a1bf3f78SToomas Soome 6*a1bf3f78SToomas Soomeobject subclass c-aggregate 7*a1bf3f78SToomas Soomec-byte obj: m0 8*a1bf3f78SToomas Soomec-byte obj: m1 9*a1bf3f78SToomas Soomec-4byte obj: m2 10*a1bf3f78SToomas Soomec-2byte obj: m3 11*a1bf3f78SToomas Soomeend-class 12*a1bf3f78SToomas Soome 13*a1bf3f78SToomas Soomeobject --> sub class1 14*a1bf3f78SToomas Soome 15*a1bf3f78SToomas Soomecell: .a 16*a1bf3f78SToomas Soomecell: .b 17*a1bf3f78SToomas Soome: init 18*a1bf3f78SToomas Soome locals| class inst | 19*a1bf3f78SToomas Soome 0 inst class --> .a ! 20*a1bf3f78SToomas Soome 1 inst class --> .b ! 21*a1bf3f78SToomas Soome; 22*a1bf3f78SToomas Soomeend-class 23*a1bf3f78SToomas Soome 24*a1bf3f78SToomas Soomeclass1 --> new c1inst 25*a1bf3f78SToomas Soome 26*a1bf3f78SToomas Soomeclass1 --> sub class2 27*a1bf3f78SToomas Soomecell: .c 28*a1bf3f78SToomas Soomecell: .d 29*a1bf3f78SToomas Soome 30*a1bf3f78SToomas Soome: init 31*a1bf3f78SToomas Soome locals| class inst | 32*a1bf3f78SToomas Soome inst class --> super --> init 33*a1bf3f78SToomas Soome 2 inst class --> .c ! 34*a1bf3f78SToomas Soome 3 inst class --> .d ! 35*a1bf3f78SToomas Soome; 36*a1bf3f78SToomas Soomeend-class 37*a1bf3f78SToomas Soome 38*a1bf3f78SToomas Soomeclass2 --> new c2inst 39*a1bf3f78SToomas Soome 40*a1bf3f78SToomas Soomeobject subclass c-list 41*a1bf3f78SToomas Soomec-list ref: link 42*a1bf3f78SToomas Soomec-ref obj: payload 43*a1bf3f78SToomas Soomeend-class 44*a1bf3f78SToomas Soome 45*a1bf3f78SToomas Soome\ test stuff from ficl.html 46*a1bf3f78SToomas Soome.( metaclass methods ) cr 47*a1bf3f78SToomas Soomemetaclass --> methods 48*a1bf3f78SToomas Soome 49*a1bf3f78SToomas Soomecr .( c-foo class ) cr 50*a1bf3f78SToomas Soomeobject --> sub c-foo 51*a1bf3f78SToomas Soomecell: m_cell1 52*a1bf3f78SToomas Soome 4 chars: m_chars 53*a1bf3f78SToomas Soome : init ( inst class -- ) 54*a1bf3f78SToomas Soome locals| class inst | 55*a1bf3f78SToomas Soome 0 inst class --> m_cell1 ! 56*a1bf3f78SToomas Soome inst class --> m_chars 4 0 fill 57*a1bf3f78SToomas Soome ." initializing an instance of c_foo at " inst x. cr 58*a1bf3f78SToomas Soome ; 59*a1bf3f78SToomas Soomeend-class 60*a1bf3f78SToomas Soome 61*a1bf3f78SToomas Soome.( c-foo instance methods... ) cr 62*a1bf3f78SToomas Soomec-foo --> new foo-instance 63*a1bf3f78SToomas Soomecr 64*a1bf3f78SToomas Soomefoo-instance --> methods 65*a1bf3f78SToomas Soomefoo-instance --> pedigree 66*a1bf3f78SToomas Soomecr 67*a1bf3f78SToomas Soomefoo-instance 2dup 68*a1bf3f78SToomas Soome --> methods 69*a1bf3f78SToomas Soome --> pedigree 70*a1bf3f78SToomas Soomecr 71*a1bf3f78SToomas Soomec-foo --> see init 72*a1bf3f78SToomas Soomecr 73*a1bf3f78SToomas Soomefoo-instance --> class --> see init 74