Files
harbour-core/harbour/samples/cccppc/behavior.cls
1999-11-09 01:37:27 +00:00

96 lines
3.1 KiB
OpenEdge ABL
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
//
// $Id$
//
class BEHAVIOR OBJECT
attrib parent
attrib name
attrib objSize
// Azon objektumok mrete, amik az oszt ly elemei.
attrib attribs
// Egy 'name' tˇpusŁ objektum (ami ennek az
// oszt lynak az eleme) attribŁtumai
// {sorsz m,nv,tˇpus} form ban.
attrib methods
// Egy 'name' tˇpusŁ objektum (ami ennek az
// oszt lynak az eleme) mveletei
// {sorsz m,nv,paramterek,implSpec} form ban.
// Mj.: A mveleteket vgrehajt˘ blokkok az
// objMethodsImplement  ltal adott blokkban
// vannak.
attrib classId
// Ha az oszt lynak van id-je, akkor az itt t rolva van.
// Ha nincs, akkor ez nil.
attrib parentClassIds
// Vagy nil, vagy egy olyan t”mb, amiben a i. elem nem nil,
// haz az adott oszt ly a this “sei k”z”tt van s van id-je.
attrib amBlock
// Egy blokk, aminek a vgrehajt sa beˇrja
// egy t”mbbe az oszt ly  ltal defini lt
// attribŁtumokat s egy m sik t”mbbe pedig
// az oszt ly  ltal defini lt mveleteket.
attrib methodsBlock
// Egy blokk, aminek a vgrehajt sa
// beˇrja egy t”mbbe az oszt ly  ltal defini lt
// mveletek blokkjait.
// (Ezt a t”mb”t adja az objMethodsImplement.)
attrib objMethodsImplement
// Egy blokkot tartalmaz, amit kirtkelve
// megkapjuk azt a t”mb”t, aminek az els“
// eleme az oszt ly, a tov bbi elemei pedig
// az oszt lyba tartoz˘ objektumok mveleti
// blokkjai, s m s implement ci˘s elemek.
nmethod onew{be_onew}()
// Kszˇt egy Łj objektumot, s inicializ lja Łgy, hogy meghˇvja
// az oinit() mvelett.
// Az objektum a 'this' oszt lyba fog tartozni.
nmethod ocreate{be_ocreate}()
// Kszˇt egy Łj objektumot, de nem inicializ lja.
// Az objektum a 'this' oszt lyba fog tartozni.
nmethod rawoinit{be_rawoinit}(parent,name,nAttribs,nMethods,amBlock,methodsBlock)
// Inicializ lja a 'this' oszt lyt.
rmethod oinit{be_oinit}(parent,name,nAttribs,nMethods,amBlock,methodsBlock)
// Inicializ lja a 'this' oszt lyt a rawoinit()-el, de el“bb
// ellen“rzi, hogy az oszt ly metaoszt ly nak van-e m r eleme.
// Ha igen, akkor k<>ld egy figyelmeztetst.
nmethod oinitclass{retobj}()
// A Meta onew()-ja hˇvja az oinit() ut n. Azrt van itt, hogy ne
// kelljen az oinit() hosszŁ paramterlist j val vesz“dni.
nmethod getMethodsImplement{be_getMethodsImplement}()
// Ad egy t”mb”t, amiben a mveletek blokkjai tal lhat˘k.
rmethod isClass{be_isClass}()
// Mindig igazat ad. (Ez az objektum oszt ly.)
nmethod attribIdx{be_attribIdx}(name)
// A name nev attribŁtum indext adja, 'nil', ha nincs.
nmethod needClassId{be_needClassId}()
// Ha .t., akkor az oszt ly nak kell azonosˇt˘t adni.
// Ha .f., akkor az oszt ly nak nem kell azonosˇt˘t adni.
// Jellemz“ implement ci˘ja:
// return class:getClass()==mc<oszt lynv>CLASS()
// Mj.: A 'class=cl<oszt lynv>()' nem j˘.
nmethod isInheritFrom{be_isInheritFrom}(parentClass)
// Ha a this ”r”k”l az aClass-t˘l, vagy this==aClass, akkor
// igaz, egybknt hamis.
// Ha a parentClass-nak van id-je, akkor ez a mvelet sokkal
// gyorsabban hajt˘dik vgre, mint ha nincs.