[incr Tcl] (http://www.tcltk.com/itcl/) provides the extra language
support needed to build large Tcl/Tk applications. It introduces the
notion of objects, which act as building blocks for an application.
Each object is a bag of data with a set of procedures or `methods` that
are used to manipulate it. Objects are organized into `classes` with
identical characteristics, and classes can inherit functionality from
one another. This object-oriented paradigm adds another level of
organization on top of the basic variable/procedure elements, and the
resulting code is easier to understand and maintain.
[incr Tk] (http://www.tcltk.com/itk/) is a framework for building
megawidgets using the [incr Tcl] (http://www.tcltk.com/itcl/) object
system. Megawidgets are high-level widgets like a file browser or a tab
notebook that act like ordinary Tk widgets but are constructed using Tk
widgets as component parts, without having to write C code. In effect, a
megawidget looks and acts exactly like a Tk widget, but is considerably
easier to implement.