    [NAME]
    ALL.dao.class.mixin

    [TITLE]
    Mixin Class

    [DESCRIPTION]

    Classes to be used as mixin bases (components) can be specified in a pair of brackets
    following the class name. Only classes without parent classes can be used as mixin bases.

       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 )