package require snit snit::type a { variable privaterWert typevariable PI [expr 2* acos(0)] constructor { w } { set privaterWert $w } method plus { var } { incr privaterWert $var return $privaterWert } method wert { } { return $privaterWert } method aufruf { } { return [$self wert] } proc statisch {} { return $PI } } snit::type b { option -flag standard option -überwacht 1 onconfigure -überwacht {val} { set options(-flag) $val puts "setze -flag $val" } oncget -überwacht { puts "lies $options(-flag)" return $options(-flag) } destructor { puts "lösche $self" } } puts "\n«A»\n" set iA [a create %AUTO% 42] puts "iA $iA" puts "wert [$iA wert]" puts "plus [$iA plus 2]" puts "wert [$iA wert]" puts "aufruf [$iA aufruf]" puts "statisch [a::statisch]" puts "\n«B»\n" set iB [b create %AUTO%] puts [$iB cget -flag] $iB configure -flag 0 $iB cget -überwacht $iB configure -überwacht 0 $iB cget -überwacht $iB destroy