TclOO Package

Hex Artifact Content
Login
Bounty program for improvements to Tcl and certain Tcl packages.
Tcl 2018 Conference, Houston/TX, US, Oct 15-19
Send your abstracts to tclconference@googlegroups.com
or submit via the online form by Aug 20.

Artifact e303c1e55f07a8d99e7e3bbfe9c816efb7d98ffd:

Wiki page [Doc: my] by dkf 2016-09-17 11:10:48.
0000: 44 20 32 30 31 36 2d 30 39 2d 31 37 54 31 31 3a  D 2016-09-17T11:
0010: 31 30 3a 34 38 2e 32 36 33 0a 4c 20 44 6f 63 3a  10:48.263.L Doc:
0020: 5c 73 6d 79 0a 4e 20 74 65 78 74 2f 78 2d 6d 61  \smy.N text/x-ma
0030: 72 6b 64 6f 77 6e 0a 55 20 64 6b 66 0a 57 20 31  rkdown.U dkf.W 1
0040: 37 36 30 0a 3c 68 31 3e 6d 79 3c 2f 68 31 3e 0d  760.<h1>my</h1>.
0050: 0a 3c 48 33 3e 3c 41 20 4e 41 4d 45 3d 22 4d 32  .<H3><A NAME="M2
0060: 22 3e 4e 41 4d 45 3c 2f 41 3e 3c 2f 48 33 3e 0d  ">NAME</A></H3>.
0070: 0a 3c 62 3e 6d 79 3c 2f 62 3e 20 26 6d 64 61 73  .<b>my</b> &mdas
0080: 68 3b 20 69 6e 76 6f 6b 65 20 61 6e 79 20 6d 65  h; invoke any me
0090: 74 68 6f 64 20 6f 66 20 63 75 72 72 65 6e 74 20  thod of current 
00a0: 6f 62 6a 65 63 74 0d 0a 3c 48 33 3e 3c 41 20 4e  object..<H3><A N
00b0: 41 4d 45 3d 22 4d 33 22 3e 53 59 4e 4f 50 53 49  AME="M3">SYNOPSI
00c0: 53 3c 2f 41 3e 3c 2f 48 33 3e 0d 0a 70 61 63 6b  S</A></H3>..pack
00d0: 61 67 65 20 72 65 71 75 69 72 65 20 54 63 6c 4f  age require TclO
00e0: 4f 3c 42 52 3e 0d 0a 3c 42 52 3e 0d 0a 3c 42 3e  O<BR>..<BR>..<B>
00f0: 6d 79 3c 2f 42 3e 3c 49 3e 20 6d 65 74 68 6f 64  my</B><I> method
0100: 4e 61 6d 65 3c 2f 49 3e 20 3f 3c 49 3e 61 72 67  Name</I> ?<I>arg
0110: 20 2e 2e 2e 3c 2f 49 3e 3f 3c 42 52 3e 0d 0a 3c   ...</I>?<BR>..<
0120: 48 33 3e 3c 41 20 4e 41 4d 45 3d 22 4d 34 22 3e  H3><A NAME="M4">
0130: 44 45 53 43 52 49 50 54 49 4f 4e 3c 2f 41 3e 3c  DESCRIPTION</A><
0140: 2f 48 33 3e 0d 0a 54 68 65 20 3c 42 3e 6d 79 3c  /H3>..The <B>my<
0150: 2f 42 3e 20 63 6f 6d 6d 61 6e 64 20 69 73 20 75  /B> command is u
0160: 73 65 64 20 74 6f 20 61 6c 6c 6f 77 20 6d 65 74  sed to allow met
0170: 68 6f 64 73 20 6f 66 20 6f 62 6a 65 63 74 73 20  hods of objects 
0180: 74 6f 20 69 6e 76 6f 6b 65 20 61 6e 79 20 6d 65  to invoke any me
0190: 74 68 6f 64 0d 0a 6f 66 20 74 68 65 20 6f 62 6a  thod..of the obj
01a0: 65 63 74 20 28 6f 72 20 69 74 73 20 63 6c 61 73  ect (or its clas
01b0: 73 29 2e 20 49 6e 20 70 61 72 74 69 63 75 6c 61  s). In particula
01c0: 72 2c 20 74 68 65 20 73 65 74 20 6f 66 20 76 61  r, the set of va
01d0: 6c 69 64 20 76 61 6c 75 65 73 20 66 6f 72 0d 0a  lid values for..
01e0: 3c 49 3e 6d 65 74 68 6f 64 4e 61 6d 65 3c 2f 49  <I>methodName</I
01f0: 3e 20 69 73 20 74 68 65 20 73 65 74 20 6f 66 20  > is the set of 
0200: 61 6c 6c 20 6d 65 74 68 6f 64 73 20 73 75 70 70  all methods supp
0210: 6f 72 74 65 64 20 62 79 20 61 6e 20 6f 62 6a 65  orted by an obje
0220: 63 74 20 61 6e 64 20 69 74 73 0d 0a 73 75 70 65  ct and its..supe
0230: 72 63 6c 61 73 73 65 73 2c 20 69 6e 63 6c 75 64  rclasses, includ
0240: 69 6e 67 20 74 68 6f 73 65 20 74 68 61 74 20 61  ing those that a
0250: 72 65 20 6e 6f 74 20 65 78 70 6f 72 74 65 64 2e  re not exported.
0260: 20 54 68 65 20 6f 62 6a 65 63 74 20 75 70 6f 6e   The object upon
0270: 20 77 68 69 63 68 20 74 68 65 0d 0a 6d 65 74 68   which the..meth
0280: 6f 64 20 69 73 20 69 6e 76 6f 6b 65 64 20 69 73  od is invoked is
0290: 20 61 6c 77 61 79 73 20 74 68 65 20 6f 6e 65 20   always the one 
02a0: 74 68 61 74 20 69 73 20 74 68 65 20 63 75 72 72  that is the curr
02b0: 65 6e 74 20 63 6f 6e 74 65 78 74 20 6f 66 20 74  ent context of t
02c0: 68 65 20 6d 65 74 68 6f 64 0d 0a 28 69 2e 65 2e  he method..(i.e.
02d0: 20 74 68 65 20 6f 62 6a 65 63 74 20 74 68 61 74   the object that
02e0: 20 69 73 20 72 65 74 75 72 6e 65 64 20 62 79 20   is returned by 
02f0: 3c 42 3e 3c 41 20 48 52 45 46 3d 22 3f 6e 61 6d  <B><A HREF="?nam
0300: 65 3d 44 6f 63 3a 2b 73 65 6c 66 22 3e 73 65 6c  e=Doc:+self">sel
0310: 66 20 6f 62 6a 65 63 74 3c 2f 41 3e 3c 2f 42 3e  f object</A></B>
0320: 29 20 66 72 6f 6d 20 77 68 69 63 68 20 74 68 65  ) from which the
0330: 0d 0a 3c 42 3e 6d 79 3c 2f 42 3e 20 63 6f 6d 6d  ..<B>my</B> comm
0340: 61 6e 64 20 69 73 20 69 6e 76 6f 6b 65 64 2e 0d  and is invoked..
0350: 0a 3c 50 3e 0d 0a 45 61 63 68 20 6f 62 6a 65 63  .<P>..Each objec
0360: 74 20 68 61 73 20 69 74 73 20 6f 77 6e 20 3c 42  t has its own <B
0370: 3e 6d 79 3c 2f 42 3e 20 63 6f 6d 6d 61 6e 64 2c  >my</B> command,
0380: 20 63 6f 6e 74 61 69 6e 65 64 20 69 6e 20 69 74   contained in it
0390: 73 20 69 6e 73 74 61 6e 63 65 20 6e 61 6d 65 73  s instance names
03a0: 70 61 63 65 2e 0d 0a 3c 48 33 3e 3c 41 20 4e 41  pace...<H3><A NA
03b0: 4d 45 3d 22 4d 35 22 3e 45 58 41 4d 50 4c 45 53  ME="M5">EXAMPLES
03c0: 3c 2f 41 3e 3c 2f 48 33 3e 0d 0a 54 68 69 73 20  </A></H3>..This 
03d0: 65 78 61 6d 70 6c 65 20 73 68 6f 77 73 20 62 61  example shows ba
03e0: 73 69 63 20 75 73 65 20 6f 66 20 3c 42 3e 6d 79  sic use of <B>my
03f0: 3c 2f 42 3e 20 74 6f 20 75 73 65 20 74 68 65 20  </B> to use the 
0400: 3c 42 3e 76 61 72 69 61 62 6c 65 73 3c 2f 42 3e  <B>variables</B>
0410: 20 6d 65 74 68 6f 64 20 6f 66 0d 0a 74 68 65 20   method of..the 
0420: 3c 42 3e 3c 41 20 48 52 45 46 3d 22 3f 6e 61 6d  <B><A HREF="?nam
0430: 65 3d 44 6f 63 3a 2b 6f 6f 3a 3a 6f 62 6a 65 63  e=Doc:+oo::objec
0440: 74 22 3e 6f 6f 3a 3a 6f 62 6a 65 63 74 3c 2f 41  t">oo::object</A
0450: 3e 3c 2f 42 3e 20 63 6c 61 73 73 2c 20 77 68 69  ></B> class, whi
0460: 63 68 20 69 73 20 6e 6f 74 20 70 75 62 6c 69 63  ch is not public
0470: 6c 79 20 76 69 73 69 62 6c 65 20 62 79 20 64 65  ly visible by de
0480: 66 61 75 6c 74 3a 0d 0a 3c 50 3e 0d 0a 3c 50 52  fault:..<P>..<PR
0490: 45 3e 6f 6f 3a 3a 63 6c 61 73 73 20 63 72 65 61  E>oo::class crea
04a0: 74 65 20 63 20 7b 0d 0a 20 20 20 20 6d 65 74 68  te c {..    meth
04b0: 6f 64 20 63 6f 75 6e 74 20 7b 7d 20 7b 0d 0a 20  od count {} {.. 
04c0: 20 20 20 20 20 20 20 3c 42 3e 6d 79 3c 2f 42 3e         <B>my</B>
04d0: 20 76 61 72 69 61 62 6c 65 20 63 6f 75 6e 74 65   variable counte
04e0: 72 0d 0a 20 20 20 20 20 20 20 20 70 75 74 73 20  r..        puts 
04f0: 5b 69 6e 63 72 20 63 6f 75 6e 74 65 72 5d 0d 0a  [incr counter]..
0500: 20 20 20 20 7d 0d 0a 7d 0d 0a 63 20 63 72 65 61      }..}..c crea
0510: 74 65 20 6f 0d 0a 6f 20 63 6f 75 6e 74 20 20 20  te o..o count   
0520: 20 20 20 20 20 20 20 20 20 20 20 3c 49 3e 3c 66             <I><f
0530: 6f 6e 74 20 73 69 7a 65 3d 22 2b 31 22 3e 26 23  ont size="+1">&#
0540: 38 35 39 34 3b 3c 2f 66 6f 6e 74 3e 20 70 72 69  8594;</font> pri
0550: 6e 74 73 20 26 71 75 6f 74 3b 31 26 71 75 6f 74  nts &quot;1&quot
0560: 3b 3c 2f 49 3e 0d 0a 6f 20 63 6f 75 6e 74 20 20  ;</I>..o count  
0570: 20 20 20 20 20 20 20 20 20 20 20 20 3c 49 3e 3c              <I><
0580: 66 6f 6e 74 20 73 69 7a 65 3d 22 2b 31 22 3e 26  font size="+1">&
0590: 23 38 35 39 34 3b 3c 2f 66 6f 6e 74 3e 20 70 72  #8594;</font> pr
05a0: 69 6e 74 73 20 26 71 75 6f 74 3b 32 26 71 75 6f  ints &quot;2&quo
05b0: 74 3b 3c 2f 49 3e 0d 0a 6f 20 63 6f 75 6e 74 20  t;</I>..o count 
05c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 49 3e               <I>
05d0: 3c 66 6f 6e 74 20 73 69 7a 65 3d 22 2b 31 22 3e  <font size="+1">
05e0: 26 23 38 35 39 34 3b 3c 2f 66 6f 6e 74 3e 20 70  &#8594;</font> p
05f0: 72 69 6e 74 73 20 26 71 75 6f 74 3b 33 26 71 75  rints &quot;3&qu
0600: 6f 74 3b 3c 2f 49 3e 3c 2f 50 52 45 3e 0d 0a 3c  ot;</I></PRE>..<
0610: 48 33 3e 3c 41 20 4e 41 4d 45 3d 22 4d 36 22 3e  H3><A NAME="M6">
0620: 53 45 45 20 41 4c 53 4f 3c 2f 41 3e 3c 2f 48 33  SEE ALSO</A></H3
0630: 3e 0d 0a 3c 42 3e 3c 41 20 48 52 45 46 3d 22 3f  >..<B><A HREF="?
0640: 6e 61 6d 65 3d 44 6f 63 3a 2b 6e 65 78 74 22 3e  name=Doc:+next">
0650: 6e 65 78 74 3c 2f 41 3e 3c 2f 42 3e 2c 20 3c 42  next</A></B>, <B
0660: 3e 3c 41 20 48 52 45 46 3d 22 3f 6e 61 6d 65 3d  ><A HREF="?name=
0670: 44 6f 63 3a 2b 6f 6f 3a 3a 6f 62 6a 65 63 74 22  Doc:+oo::object"
0680: 3e 6f 6f 3a 3a 6f 62 6a 65 63 74 3c 2f 41 3e 3c  >oo::object</A><
0690: 2f 42 3e 2c 20 3c 42 3e 3c 41 20 48 52 45 46 3d  /B>, <B><A HREF=
06a0: 22 3f 6e 61 6d 65 3d 44 6f 63 3a 2b 73 65 6c 66  "?name=Doc:+self
06b0: 22 3e 73 65 6c 66 3c 2f 41 3e 3c 2f 42 3e 0d 0a  ">self</A></B>..
06c0: 3c 48 33 3e 3c 41 20 4e 41 4d 45 3d 22 4d 37 22  <H3><A NAME="M7"
06d0: 3e 4b 45 59 57 4f 52 44 53 3c 2f 41 3e 3c 2f 48  >KEYWORDS</A></H
06e0: 33 3e 0d 0a 6d 65 74 68 6f 64 2c 20 6d 65 74 68  3>..method, meth
06f0: 6f 64 20 76 69 73 69 62 69 6c 69 74 79 2c 20 6f  od visibility, o
0700: 62 6a 65 63 74 2c 20 70 72 69 76 61 74 65 20 6d  bject, private m
0710: 65 74 68 6f 64 2c 20 70 75 62 6c 69 63 20 6d 65  ethod, public me
0720: 74 68 6f 64 0a 5a 20 38 37 38 34 64 64 63 30 62  thod.Z 8784ddc0b
0730: 62 62 62 36 37 39 30 39 38 31 37 36 35 64 34 62  bbb6790981765d4b
0740: 31 36 61 31 31 62 63 0a                          16a11bc.