Version 1 of scriptable OO

Updated 2009-07-27 08:24:53 by CMcC

TclOO is not just an OO extension, it's a scriptable OO extension.

It's possible to add facilities and capabilities to the oo::class object, and enhance or modify the kind of objects class creates.

Examples (developed in 8 minutes flat by dkf)

-- Class Methods --

        proc ::oo::define::classmethod name {
            set class [lindex [info level -1] 1]
            set classmy [info object namespace $class]::my
            uplevel 1 forward $name $classmy $name
        }

-- Class Variables --

        proc ::oo::Helpers::classvar {name args} {
            set ns [info object namespace [uplevel 1 {self class}]]
            foreach v [list $name {*}$args] {
                uplevel 1 [list namespace upvar $ns $v $v]
            }
        }