Home Accessibility Courses Twitter The Mouth Facebook Resources Site Map About Us Contact
This is now an archive web site.
Some is still relevant as at February 2026 but some is purely of historic interest.


Lisa and I (Graham) are now fully retired from IT training.We have made many friends over 30 years of teaching about Python, Tcl, Perl, PHP, Lua, Java, C and C++ - and MySQL, Apache, Linux and Solaris/SunOS too. Our training notes are out of date, but with upward compatability some examples remain operational and relevant. You are welcome to make use of them "as seen", at your own risk. We now live in what was our training centre in Melksham - happy to meet with former delegates here - but do check ahead before coming round. We remain active, enjoying the times that we are retired but still healthy enough in mind and body to do things!

I am also active in many other area and still look after a lot of web sites - you can find an index ((here))
Objects in Tcl - iTcl - updated first steps example (written 2015-03-11)

iTcl is Tcl's Object Oriented package, and it's shipped as standard with Tcl these days.

On many of our OO courses, we start off with an example of "train" objects and define and run methods such as "getCapacity" on them, and today I've taken that same example and coded it in Tcl - see [here].

My main (test) code creates two trains and puts them into a list:

  set ocount 0
  set s1 [train train_[incr ocount] 2 75 "06:38" "Southampton Central"]
  set s2 [train train_[incr ocount] 1 78 "07:49" "Swindon"]
  set services [list $s1 $s2]


and then loops through and prints out the capacity of each:

  foreach service $services {
    set capacity [$service getcapacity]
    puts "That can take $capacity people"
    }


iTcl provides default cget and configure methods on each object through which you can directly access variables which are declared public within objects - so I can extend the example above:

  $s1 configure -where "Marchwood"
  foreach service $services {
    set capacity [$service getcapacity]
    set to [$service cget -where]
    puts "That can take $capacity people to $to"
    }


Source code [here].
(written 2015-03-11)

 
Associated topics are indexed as below, or enter http://melksh.am/nnnn for individual articles
T245 - Tcl/Tk - [incr-Tcl]
  [290] Object Orientation in Tcl - [incr-Tcl] - (2005-04-24)
  [656] Think about your design even if you don't use full UML - (2006-03-24)
  [1528] Object Oriented Tcl - (2008-02-02)
  [1819] Calling base class constructors - (2008-10-03)
  [1925] Introduction to Object Oriented Programming - (2008-12-06)
  [3142] Private and Public - and things between - (2011-01-22)
  [4460] Using Object Oriented Tcl and the Tk toolkit together - real life example - (2015-03-12)


Back to
Working out distance between places, using OS grid references and a program in Tcl
Previous and next
or
Horse's mouth home
Forward to
Test framework for TCL - Tcltest - some examples
Some other Articles
Managing the window size (and layout) in Tcl/Tk
A new Tcl/tk example - a window to show system status
Test framework for TCL - Tcltest - some examples
Objects in Tcl - iTcl - updated first steps example
Working out distance between places, using OS grid references and a program in Tcl
Everything is a string - even a list
Tcl variable names - no real limits!
Binary data handling - Python and Perl
Running an operating system command from your Python program - the new way with the subprocess module
4759 posts, page by page
Link to page ... 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96 at 50 posts per page


This is a page archived from The Horse's Mouth at http://www.wellho.net/horse/ - the diary and writings of Graham Ellis. Every attempt was made to provide current information at the time the page was written, but things do move forward in our business - new software releases, price changes, new techniques. So much so, and it's so long ago that we are retired

Link to Ezine home page (for reading).

You can Add a comment or ranking to this page

© WELL HOUSE CONSULTANTS LTD., 2026: 48 Spa Road • Melksham, Wiltshire • United Kingdom • SN12 7NY
PH: +44 (0)1225 708225 • EMAIL: info@wellho.net • WEB: http://www.wellho.net

PAGE: https://www.wellho.info//mouthwork/4456_Objects-in-Tcl-iTcl-updated-first-steps-example.html • PAGE BUILT: Sun Oct 11 16:07:41 2020 • BUILD SYSTEM: JelliaJamb