[NAME]
ALL.dao.class.mixin

[TITLE]
组件类

[DESCRIPTION]

新类的定义也可包含其它类,这些类将作为组件融入(嵌入)到新类中。 在类定义里,组件类可放在括号
里列在新类名后面。 只有没有基类的类才可用作组件类。
     
   1  class Base
   2  {
   3      var value = 456
   4      routine Meth2(){ io.writeln( self, value ) }
   5  }
   6  
   7  class Mixin ( Base )
   8  {
   9      var index = 123
  10  
  11      routine Meth(){ io.writeln( self, index, value ) }
  12      routine Meth2( a : string ){ io.writeln( self, index, value, a ) }
  13  }
  14  
  15  #
  16  # The "Base" class will be presented only once in "Klass":
  17  #
  18  class Klass ( Base, Mixin )
  19  {
  20      var index = 123456
  21      routine Meth2( a : int ){ io.writeln( self, index, value, a ) }
  22  }
  23  
  24  k = Klass()
  25  
  26  io.writeln( k.index )
  27  
  28  k.Meth()
  29  k.Meth2()
  30  k.Meth2( 'abc' )
  31  k.Meth2( 789 )