Tcl8.6a2/Tk8.6a2 Documentation > TclCmd > copy

Tcl/Tk Applications | Tcl Commands | Tk Commands | Tcl Library | Tk Library

NAME

oo::copy - create copies of objects and classes

SYNOPSIS

package require TclOO

oo::copy sourceObject ?targetObject?

DESCRIPTION

The oo::copy command creates a copy of an object or class. It takes the name of the object or class to be copied, sourceObject, and optionally the name of the object or class to create, targetObject, which will be resolved relative to the current namespace if not an absolute qualified name. If targetObject is omitted, a new name is chosen. The copied object will be of the same class as the source object, and will have all its per-object methods copied. If it is a class, it will also have all the class methods in the class copied, but it will not have any of its instances copied. The contents of the source object's private namespace will not be copied; it is up to the caller to do this. The result of this command will be the fully-qualified name of the new object or class.

EXAMPLES

This example creates an object, copies it, modifies the source object, and then demonstrates that the copied object is indeed a copy.
oo::object create src
oo::define src method msg {} {puts foo}
oo::copy src dst
oo::define src method msg {} {puts bar}
src msg               prints "bar"
dst msg               prints "foo"

SEE ALSO

oo::class, oo::define, oo::object

KEYWORDS

clone, copy, duplication, object
Copyright © 1995-1997 Roger E. Critchlow Jr. Copyright © 2007 Donal K. Fellows