TclOO Package

Doc: my
Bounty program for improvements to Tcl and certain Tcl packages.
Tcl 2018 Conference, Houston/TX, US, Oct 15-19
Send your abstracts to
or submit via the online form by Aug 20.



my — invoke any method of current object


package require TclOO

my methodName ?arg ...?


The my command is used to allow methods of objects to invoke any method of the object (or its class). In particular, the set of valid values for methodName is the set of all methods supported by an object and its superclasses, including those that are not exported. The object upon which the method is invoked is always the one that is the current context of the method (i.e. the object that is returned by self object) from which the my command is invoked.

Each object has its own my command, contained in its instance namespace.


This example shows basic use of my to use the variables method of the oo::object class, which is not publicly visible by default:

oo::class create c {
    method count {} {
        my variable counter
        puts [incr counter]
c create o
o count               prints "1"
o count               prints "2"
o count               prints "3"


next, oo::object, self


method, method visibility, object, private method, public method