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 cbb7b683e829857ace9610637190b27b6ab872d5:

Wiki page [Doc: oo::object] by dkf 2016-09-17 10:53:57.
0000: 44 20 32 30 31 36 2d 30 39 2d 31 37 54 31 30 3a  D 2016-09-17T10:
0010: 35 33 3a 35 37 2e 33 31 31 0a 4c 20 44 6f 63 3a  53:57.311.L Doc:
0020: 5c 73 6f 6f 3a 3a 6f 62 6a 65 63 74 0a 4e 20 74  \soo::object.N t
0030: 65 78 74 2f 78 2d 6d 61 72 6b 64 6f 77 6e 0a 50  ext/x-markdown.P
0040: 20 32 63 66 33 37 62 36 65 30 31 35 31 35 30 34   2cf37b6e0151504
0050: 32 65 31 31 33 66 66 64 65 36 31 39 37 31 39 31  2e113ffde6197191
0060: 36 64 61 32 64 35 62 64 38 0a 55 20 64 6b 66 0a  6da2d5bd8.U dkf.
0070: 57 20 36 38 36 39 0a 3c 68 31 3e 6f 6f 3a 3a 6f  W 6869.<h1>oo::o
0080: 62 6a 65 63 74 3c 2f 68 31 3e 0d 0a 3c 44 4c 20  bject</h1>..<DL 
0090: 73 74 79 6c 65 3d 22 66 6f 6e 74 2d 73 69 7a 65  style="font-size
00a0: 3a 2e 38 35 65 6d 22 3e 0d 0a 3c 44 44 3e 3c 41  :.85em">..<DD><A
00b0: 20 48 52 45 46 3d 22 23 4d 32 22 20 4e 41 4d 45   HREF="#M2" NAME
00c0: 3d 22 4c 31 32 37 31 22 3e 4e 41 4d 45 3c 2f 41  ="L1271">NAME</A
00d0: 3e 0d 0a 3c 44 4c 3e 3c 44 44 3e 6f 6f 3a 3a 6f  >..<DL><DD>oo::o
00e0: 62 6a 65 63 74 20 26 6d 64 61 73 68 3b 20 72 6f  bject &mdash; ro
00f0: 6f 74 20 63 6c 61 73 73 20 6f 66 20 74 68 65 20  ot class of the 
0100: 63 6c 61 73 73 20 68 69 65 72 61 72 63 68 79 3c  class hierarchy<
0110: 2f 44 44 3e 3c 2f 44 4c 3e 0d 0a 3c 44 44 3e 3c  /DD></DL>..<DD><
0120: 41 20 48 52 45 46 3d 22 23 4d 33 22 20 4e 41 4d  A HREF="#M3" NAM
0130: 45 3d 22 4c 31 32 37 32 22 3e 53 59 4e 4f 50 53  E="L1272">SYNOPS
0140: 49 53 3c 2f 41 3e 0d 0a 3c 44 4c 3e 0d 0a 3c 2f  IS</A>..<DL>..</
0150: 44 4c 3e 0d 0a 3c 44 44 3e 3c 41 20 48 52 45 46  DL>..<DD><A HREF
0160: 3d 22 23 4d 34 22 20 4e 41 4d 45 3d 22 4c 31 32  ="#M4" NAME="L12
0170: 37 33 22 3e 43 4c 41 53 53 20 48 49 45 52 41 52  73">CLASS HIERAR
0180: 43 48 59 3c 2f 41 3e 0d 0a 3c 44 44 3e 3c 41 20  CHY</A>..<DD><A 
0190: 48 52 45 46 3d 22 23 4d 35 22 20 4e 41 4d 45 3d  HREF="#M5" NAME=
01a0: 22 4c 31 32 37 34 22 3e 44 45 53 43 52 49 50 54  "L1274">DESCRIPT
01b0: 49 4f 4e 3c 2f 41 3e 0d 0a 3c 44 44 3e 3c 41 20  ION</A>..<DD><A 
01c0: 48 52 45 46 3d 22 23 4d 36 22 20 4e 41 4d 45 3d  HREF="#M6" NAME=
01d0: 22 4c 31 32 37 35 22 3e 43 4f 4e 53 54 52 55 43  "L1275">CONSTRUC
01e0: 54 4f 52 3c 2f 41 3e 0d 0a 3c 44 44 3e 3c 41 20  TOR</A>..<DD><A 
01f0: 48 52 45 46 3d 22 23 4d 37 22 20 4e 41 4d 45 3d  HREF="#M7" NAME=
0200: 22 4c 31 32 37 36 22 3e 44 45 53 54 52 55 43 54  "L1276">DESTRUCT
0210: 4f 52 3c 2f 41 3e 0d 0a 3c 44 44 3e 3c 41 20 48  OR</A>..<DD><A H
0220: 52 45 46 3d 22 23 4d 38 22 20 4e 41 4d 45 3d 22  REF="#M8" NAME="
0230: 4c 31 32 37 37 22 3e 45 58 50 4f 52 54 45 44 20  L1277">EXPORTED 
0240: 4d 45 54 48 4f 44 53 3c 2f 41 3e 0d 0a 3c 44 4c  METHODS</A>..<DL
0250: 20 63 6c 61 73 73 3d 22 65 78 70 6f 72 74 65 64   class="exported
0260: 20 6d 65 74 68 6f 64 73 22 3e 0d 0a 3c 44 44 3e   methods">..<DD>
0270: 3c 41 20 48 52 45 46 3d 22 23 4d 39 22 20 4e 41  <A HREF="#M9" NA
0280: 4d 45 3d 22 4c 31 32 37 38 22 3e 3c 49 3e 6f 62  ME="L1278"><I>ob
0290: 6a 20 3c 2f 49 3e 3c 42 3e 64 65 73 74 72 6f 79  j </I><B>destroy
02a0: 3c 2f 42 3e 3c 2f 41 3e 0d 0a 3c 2f 44 4c 3e 0d  </B></A>..</DL>.
02b0: 0a 3c 44 44 3e 3c 41 20 48 52 45 46 3d 22 23 4d  .<DD><A HREF="#M
02c0: 31 30 22 20 4e 41 4d 45 3d 22 4c 31 32 37 39 22  10" NAME="L1279"
02d0: 3e 4e 4f 4e 2d 45 58 50 4f 52 54 45 44 20 4d 45  >NON-EXPORTED ME
02e0: 54 48 4f 44 53 3c 2f 41 3e 0d 0a 3c 44 4c 20 63  THODS</A>..<DL c
02f0: 6c 61 73 73 3d 22 6e 6f 6e 2d 65 78 70 6f 72 74  lass="non-export
0300: 65 64 20 6d 65 74 68 6f 64 73 22 3e 0d 0a 3c 44  ed methods">..<D
0310: 44 3e 3c 41 20 48 52 45 46 3d 22 23 4d 31 31 22  D><A HREF="#M11"
0320: 20 4e 41 4d 45 3d 22 4c 31 32 38 30 22 3e 3c 49   NAME="L1280"><I
0330: 3e 6f 62 6a 20 3c 2f 49 3e 3c 42 3e 65 76 61 6c  >obj </I><B>eval
0340: 3c 2f 42 3e 20 3f 3c 49 3e 61 72 67 20 2e 2e 2e  </B> ?<I>arg ...
0350: 3c 2f 49 3e 3f 3c 2f 41 3e 0d 0a 3c 44 44 3e 3c  </I>?</A>..<DD><
0360: 41 20 48 52 45 46 3d 22 23 4d 31 32 22 20 4e 41  A HREF="#M12" NA
0370: 4d 45 3d 22 4c 31 32 38 31 22 3e 3c 49 3e 6f 62  ME="L1281"><I>ob
0380: 6a 20 3c 2f 49 3e 3c 42 3e 75 6e 6b 6e 6f 77 6e  j </I><B>unknown
0390: 20 3f 3c 2f 42 3e 3c 49 3e 6d 65 74 68 6f 64 4e   ?</B><I>methodN
03a0: 61 6d 65 3c 2f 49 3e 3f 20 3f 3c 49 3e 61 72 67  ame</I>? ?<I>arg
03b0: 20 2e 2e 2e 3c 2f 49 3e 3f 3c 2f 41 3e 0d 0a 3c   ...</I>?</A>..<
03c0: 44 44 3e 3c 41 20 48 52 45 46 3d 22 23 4d 31 33  DD><A HREF="#M13
03d0: 22 20 4e 41 4d 45 3d 22 4c 31 32 38 32 22 3e 3c  " NAME="L1282"><
03e0: 49 3e 6f 62 6a 20 3c 2f 49 3e 3c 42 3e 76 61 72  I>obj </I><B>var
03f0: 69 61 62 6c 65 20 3c 2f 42 3e 3f 3c 49 3e 76 61  iable </B>?<I>va
0400: 72 4e 61 6d 65 20 2e 2e 2e 3c 2f 49 3e 3f 3c 2f  rName ...</I>?</
0410: 41 3e 0d 0a 3c 44 44 3e 3c 41 20 48 52 45 46 3d  A>..<DD><A HREF=
0420: 22 23 4d 31 34 22 20 4e 41 4d 45 3d 22 4c 31 32  "#M14" NAME="L12
0430: 38 33 22 3e 3c 49 3e 6f 62 6a 20 3c 2f 49 3e 3c  83"><I>obj </I><
0440: 42 3e 76 61 72 6e 61 6d 65 20 3c 2f 42 3e 3c 49  B>varname </B><I
0450: 3e 76 61 72 4e 61 6d 65 3c 2f 49 3e 3c 2f 41 3e  >varName</I></A>
0460: 0d 0a 3c 44 44 3e 3c 41 20 48 52 45 46 3d 22 23  ..<DD><A HREF="#
0470: 4d 31 35 22 20 4e 41 4d 45 3d 22 4c 31 32 38 34  M15" NAME="L1284
0480: 22 3e 3c 49 3e 6f 62 6a 20 3c 2f 49 3e 3c 42 3e  "><I>obj </I><B>
0490: 26 6c 74 3b 63 6c 6f 6e 65 64 26 67 74 3b 20 3c  &lt;cloned&gt; <
04a0: 2f 42 3e 3c 49 3e 73 6f 75 72 63 65 4f 62 6a 65  /B><I>sourceObje
04b0: 63 74 4e 61 6d 65 3c 2f 49 3e 3c 2f 41 3e 0d 0a  ctName</I></A>..
04c0: 3c 2f 44 4c 3e 0d 0a 3c 44 44 3e 3c 41 20 48 52  </DL>..<DD><A HR
04d0: 45 46 3d 22 23 4d 31 36 22 20 4e 41 4d 45 3d 22  EF="#M16" NAME="
04e0: 4c 31 32 38 35 22 3e 45 58 41 4d 50 4c 45 53 3c  L1285">EXAMPLES<
04f0: 2f 41 3e 0d 0a 3c 44 44 3e 3c 41 20 48 52 45 46  /A>..<DD><A HREF
0500: 3d 22 23 4d 31 37 22 20 4e 41 4d 45 3d 22 4c 31  ="#M17" NAME="L1
0510: 32 38 36 22 3e 53 45 45 20 41 4c 53 4f 3c 2f 41  286">SEE ALSO</A
0520: 3e 0d 0a 3c 44 44 3e 3c 41 20 48 52 45 46 3d 22  >..<DD><A HREF="
0530: 23 4d 31 38 22 20 4e 41 4d 45 3d 22 4c 31 32 38  #M18" NAME="L128
0540: 37 22 3e 4b 45 59 57 4f 52 44 53 3c 2f 41 3e 0d  7">KEYWORDS</A>.
0550: 0a 3c 2f 44 4c 3e 0d 0a 3c 48 33 3e 3c 41 20 4e  .</DL>..<H3><A N
0560: 41 4d 45 3d 22 4d 32 22 3e 4e 41 4d 45 3c 2f 41  AME="M2">NAME</A
0570: 3e 3c 2f 48 33 3e 0d 0a 3c 62 3e 6f 6f 3a 3a 6f  ></H3>..<b>oo::o
0580: 62 6a 65 63 74 3c 2f 62 3e 20 26 6d 64 61 73 68  bject</b> &mdash
0590: 3b 20 72 6f 6f 74 20 63 6c 61 73 73 20 6f 66 20  ; root class of 
05a0: 74 68 65 20 63 6c 61 73 73 20 68 69 65 72 61 72  the class hierar
05b0: 63 68 79 0d 0a 3c 48 33 3e 3c 41 20 4e 41 4d 45  chy..<H3><A NAME
05c0: 3d 22 4d 33 22 3e 53 59 4e 4f 50 53 49 53 3c 2f  ="M3">SYNOPSIS</
05d0: 41 3e 3c 2f 48 33 3e 0d 0a 70 61 63 6b 61 67 65  A></H3>..package
05e0: 20 72 65 71 75 69 72 65 20 54 63 6c 4f 4f 3c 42   require TclOO<B
05f0: 52 3e 0d 0a 3c 42 52 3e 0d 0a 3c 42 3e 6f 6f 3a  R>..<BR>..<B>oo:
0600: 3a 6f 62 6a 65 63 74 3c 2f 42 3e 3c 49 3e 20 6d  :object</B><I> m
0610: 65 74 68 6f 64 20 3c 2f 49 3e 3f 3c 49 3e 61 72  ethod </I>?<I>ar
0620: 67 20 2e 2e 2e 3c 2f 49 3e 3f 3c 42 52 3e 0d 0a  g ...</I>?<BR>..
0630: 3c 48 33 3e 3c 41 20 4e 41 4d 45 3d 22 4d 34 22  <H3><A NAME="M4"
0640: 3e 43 4c 41 53 53 20 48 49 45 52 41 52 43 48 59  >CLASS HIERARCHY
0650: 3c 2f 41 3e 3c 2f 48 33 3e 0d 0a 3c 42 3e 6f 6f  </A></H3>..<B>oo
0660: 3a 3a 6f 62 6a 65 63 74 3c 2f 42 3e 3c 42 52 3e  ::object</B><BR>
0670: 0d 0a 3c 48 33 3e 3c 41 20 4e 41 4d 45 3d 22 4d  ..<H3><A NAME="M
0680: 35 22 3e 44 45 53 43 52 49 50 54 49 4f 4e 3c 2f  5">DESCRIPTION</
0690: 41 3e 3c 2f 48 33 3e 0d 0a 54 68 65 20 3c 42 3e  A></H3>..The <B>
06a0: 6f 6f 3a 3a 6f 62 6a 65 63 74 3c 2f 42 3e 20 63  oo::object</B> c
06b0: 6c 61 73 73 20 69 73 20 74 68 65 20 72 6f 6f 74  lass is the root
06c0: 20 63 6c 61 73 73 20 6f 66 20 74 68 65 20 6f 62   class of the ob
06d0: 6a 65 63 74 20 68 69 65 72 61 72 63 68 79 3b 20  ject hierarchy; 
06e0: 65 76 65 72 79 0d 0a 6f 62 6a 65 63 74 20 69 73  every..object is
06f0: 20 61 6e 20 69 6e 73 74 61 6e 63 65 20 6f 66 20   an instance of 
0700: 74 68 69 73 20 63 6c 61 73 73 2e 20 53 69 6e 63  this class. Sinc
0710: 65 20 63 6c 61 73 73 65 73 20 61 72 65 20 74 68  e classes are th
0720: 65 6d 73 65 6c 76 65 73 20 6f 62 6a 65 63 74 73  emselves objects
0730: 2c 0d 0a 74 68 65 79 20 61 72 65 20 69 6e 73 74  ,..they are inst
0740: 61 6e 63 65 73 20 6f 66 20 74 68 69 73 20 63 6c  ances of this cl
0750: 61 73 73 20 74 6f 6f 2e 20 4f 62 6a 65 63 74 73  ass too. Objects
0760: 20 61 72 65 20 61 6c 77 61 79 73 20 72 65 66 65   are always refe
0770: 72 72 65 64 20 74 6f 20 62 79 20 74 68 65 69 72  rred to by their
0780: 0d 0a 6e 61 6d 65 2c 20 61 6e 64 20 6d 61 79 20  ..name, and may 
0790: 62 65 20 3c 42 3e 72 65 6e 61 6d 65 3c 2f 42 3e  be <B>rename</B>
07a0: 64 20 77 68 69 6c 65 20 6d 61 69 6e 74 61 69 6e  d while maintain
07b0: 69 6e 67 20 74 68 65 69 72 20 69 64 65 6e 74 69  ing their identi
07c0: 74 79 2e 0d 0a 3c 50 3e 0d 0a 49 6e 73 74 61 6e  ty...<P>..Instan
07d0: 63 65 73 20 6f 66 20 6f 62 6a 65 63 74 73 20 6d  ces of objects m
07e0: 61 79 20 62 65 20 6d 61 64 65 20 77 69 74 68 20  ay be made with 
07f0: 65 69 74 68 65 72 20 74 68 65 20 3c 42 3e 63 72  either the <B>cr
0800: 65 61 74 65 3c 2f 42 3e 20 6f 72 20 3c 42 3e 6e  eate</B> or <B>n
0810: 65 77 3c 2f 42 3e 0d 0a 6d 65 74 68 6f 64 73 20  ew</B>..methods 
0820: 6f 66 20 74 68 65 20 3c 42 3e 6f 6f 3a 3a 6f 62  of the <B>oo::ob
0830: 6a 65 63 74 3c 2f 42 3e 20 6f 62 6a 65 63 74 20  ject</B> object 
0840: 69 74 73 65 6c 66 2c 20 6f 72 20 62 79 20 69 6e  itself, or by in
0850: 76 6f 6b 69 6e 67 20 74 68 6f 73 65 20 6d 65 74  voking those met
0860: 68 6f 64 73 20 6f 6e 0d 0a 61 6e 79 20 6f 66 20  hods on..any of 
0870: 74 68 65 20 73 75 62 63 6c 61 73 73 20 6f 62 6a  the subclass obj
0880: 65 63 74 73 3b 20 73 65 65 20 3c 42 3e 3c 41 20  ects; see <B><A 
0890: 48 52 45 46 3d 22 3f 6e 61 6d 65 3d 44 6f 63 3a  HREF="?name=Doc:
08a0: 2b 6f 6f 3a 3a 63 6c 61 73 73 22 3e 6f 6f 3a 3a  +oo::class">oo::
08b0: 63 6c 61 73 73 3c 2f 41 3e 3c 2f 42 3e 20 66 6f  class</A></B> fo
08c0: 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 20  r more details. 
08d0: 54 68 65 0d 0a 63 6f 6e 66 69 67 75 72 61 74 69  The..configurati
08e0: 6f 6e 20 6f 66 20 69 6e 64 69 76 69 64 75 61 6c  on of individual
08f0: 20 6f 62 6a 65 63 74 73 20 28 69 2e 65 2e 2c 20   objects (i.e., 
0900: 69 6e 73 74 61 6e 63 65 2d 73 70 65 63 69 66 69  instance-specifi
0910: 63 20 6d 65 74 68 6f 64 73 2c 20 6d 69 78 65 64  c methods, mixed
0920: 2d 69 6e 0d 0a 63 6c 61 73 73 65 73 2c 20 65 74  -in..classes, et
0930: 63 2e 29 20 6d 61 79 20 62 65 20 63 6f 6e 74 72  c.) may be contr
0940: 6f 6c 6c 65 64 20 77 69 74 68 20 74 68 65 20 3c  olled with the <
0950: 42 3e 3c 41 20 48 52 45 46 3d 22 3f 6e 61 6d 65  B><A HREF="?name
0960: 3d 44 6f 63 3a 2b 6f 6f 3a 3a 64 65 66 69 6e 65  =Doc:+oo::define
0970: 22 3e 6f 6f 3a 3a 6f 62 6a 64 65 66 69 6e 65 3c  ">oo::objdefine<
0980: 2f 41 3e 3c 2f 42 3e 20 63 6f 6d 6d 61 6e 64 2e  /A></B> command.
0990: 0d 0a 3c 50 3e 0d 0a 45 61 63 68 20 6f 62 6a 65  ..<P>..Each obje
09a0: 63 74 20 68 61 73 20 61 20 75 6e 69 71 75 65 20  ct has a unique 
09b0: 6e 61 6d 65 73 70 61 63 65 20 61 73 73 6f 63 69  namespace associ
09c0: 61 74 65 64 20 77 69 74 68 20 69 74 2c 20 74 68  ated with it, th
09d0: 65 20 69 6e 73 74 61 6e 63 65 20 6e 61 6d 65 73  e instance names
09e0: 70 61 63 65 2e 0d 0a 54 68 69 73 20 6e 61 6d 65  pace...This name
09f0: 73 70 61 63 65 20 68 6f 6c 64 73 20 61 6c 6c 20  space holds all 
0a00: 74 68 65 20 69 6e 73 74 61 6e 63 65 20 76 61 72  the instance var
0a10: 69 61 62 6c 65 73 20 6f 66 20 74 68 65 20 6f 62  iables of the ob
0a20: 6a 65 63 74 2c 20 61 6e 64 20 77 69 6c 6c 20 62  ject, and will b
0a30: 65 20 74 68 65 0d 0a 63 75 72 72 65 6e 74 20 6e  e the..current n
0a40: 61 6d 65 73 70 61 63 65 20 77 68 65 6e 65 76 65  amespace wheneve
0a50: 72 20 61 20 6d 65 74 68 6f 64 20 6f 66 20 74 68  r a method of th
0a60: 65 20 6f 62 6a 65 63 74 20 69 73 20 69 6e 76 6f  e object is invo
0a70: 6b 65 64 20 28 69 6e 63 6c 75 64 69 6e 67 20 61  ked (including a
0a80: 0d 0a 6d 65 74 68 6f 64 20 6f 66 20 74 68 65 20  ..method of the 
0a90: 63 6c 61 73 73 20 6f 66 20 74 68 65 20 6f 62 6a  class of the obj
0aa0: 65 63 74 29 2e 20 57 68 65 6e 20 74 68 65 20 6f  ect). When the o
0ab0: 62 6a 65 63 74 20 69 73 20 64 65 73 74 72 6f 79  bject is destroy
0ac0: 65 64 2c 20 69 74 73 20 69 6e 73 74 61 6e 63 65  ed, its instance
0ad0: 0d 0a 6e 61 6d 65 73 70 61 63 65 20 69 73 20 64  ..namespace is d
0ae0: 65 6c 65 74 65 64 2e 20 54 68 65 20 69 6e 73 74  eleted. The inst
0af0: 61 6e 63 65 20 6e 61 6d 65 73 70 61 63 65 20 63  ance namespace c
0b00: 6f 6e 74 61 69 6e 73 20 74 68 65 20 6f 62 6a 65  ontains the obje
0b10: 63 74 27 73 20 3c 42 3e 3c 41 20 48 52 45 46 3d  ct's <B><A HREF=
0b20: 22 3f 6e 61 6d 65 3d 44 6f 63 3a 2b 6d 79 22 3e  "?name=Doc:+my">
0b30: 6d 79 3c 2f 41 3e 3c 2f 42 3e 0d 0a 63 6f 6d 6d  my</A></B>..comm
0b40: 61 6e 64 2c 20 77 68 69 63 68 20 6d 61 79 20 62  and, which may b
0b50: 65 20 75 73 65 64 20 74 6f 20 69 6e 76 6f 6b 65  e used to invoke
0b60: 20 6e 6f 6e 2d 65 78 70 6f 72 74 65 64 20 6d 65   non-exported me
0b70: 74 68 6f 64 73 20 6f 66 20 74 68 65 20 6f 62 6a  thods of the obj
0b80: 65 63 74 20 6f 72 20 74 6f 0d 0a 63 72 65 61 74  ect or to..creat
0b90: 65 20 61 20 72 65 66 65 72 65 6e 63 65 20 74 6f  e a reference to
0ba0: 20 74 68 65 20 6f 62 6a 65 63 74 20 66 6f 72 20   the object for 
0bb0: 74 68 65 20 70 75 72 70 6f 73 65 20 6f 66 20 69  the purpose of i
0bc0: 6e 76 6f 63 61 74 69 6f 6e 20 77 68 69 63 68 20  nvocation which 
0bd0: 70 65 72 73 69 73 74 73 0d 0a 61 63 72 6f 73 73  persists..across
0be0: 20 72 65 6e 61 6d 69 6e 67 73 20 6f 66 20 74 68   renamings of th
0bf0: 65 20 6f 62 6a 65 63 74 2e 0d 0a 3c 48 34 3e 3c  e object...<H4><
0c00: 41 20 4e 41 4d 45 3d 22 4d 36 22 3e 43 4f 4e 53  A NAME="M6">CONS
0c10: 54 52 55 43 54 4f 52 3c 2f 41 3e 3c 2f 48 34 3e  TRUCTOR</A></H4>
0c20: 0d 0a 54 68 65 20 3c 42 3e 6f 6f 3a 3a 6f 62 6a  ..The <B>oo::obj
0c30: 65 63 74 3c 2f 42 3e 20 63 6c 61 73 73 20 64 6f  ect</B> class do
0c40: 65 73 20 6e 6f 74 20 64 65 66 69 6e 65 20 61 6e  es not define an
0c50: 20 65 78 70 6c 69 63 69 74 20 63 6f 6e 73 74 72   explicit constr
0c60: 75 63 74 6f 72 2e 0d 0a 3c 48 34 3e 3c 41 20 4e  uctor...<H4><A N
0c70: 41 4d 45 3d 22 4d 37 22 3e 44 45 53 54 52 55 43  AME="M7">DESTRUC
0c80: 54 4f 52 3c 2f 41 3e 3c 2f 48 34 3e 0d 0a 54 68  TOR</A></H4>..Th
0c90: 65 20 3c 42 3e 6f 6f 3a 3a 6f 62 6a 65 63 74 3c  e <B>oo::object<
0ca0: 2f 42 3e 20 63 6c 61 73 73 20 64 6f 65 73 20 6e  /B> class does n
0cb0: 6f 74 20 64 65 66 69 6e 65 20 61 6e 20 65 78 70  ot define an exp
0cc0: 6c 69 63 69 74 20 64 65 73 74 72 75 63 74 6f 72  licit destructor
0cd0: 2e 0d 0a 3c 48 34 3e 3c 41 20 4e 41 4d 45 3d 22  ...<H4><A NAME="
0ce0: 4d 38 22 3e 45 58 50 4f 52 54 45 44 20 4d 45 54  M8">EXPORTED MET
0cf0: 48 4f 44 53 3c 2f 41 3e 3c 2f 48 34 3e 0d 0a 54  HODS</A></H4>..T
0d00: 68 65 20 3c 42 3e 6f 6f 3a 3a 6f 62 6a 65 63 74  he <B>oo::object
0d10: 3c 2f 42 3e 20 63 6c 61 73 73 20 73 75 70 70 6f  </B> class suppo
0d20: 72 74 73 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e  rts the followin
0d30: 67 20 65 78 70 6f 72 74 65 64 20 6d 65 74 68 6f  g exported metho
0d40: 64 73 3a 0d 0a 3c 50 3e 0d 0a 3c 44 4c 20 63 6c  ds:..<P>..<DL cl
0d50: 61 73 73 3d 22 65 78 70 6f 72 74 65 64 20 6d 65  ass="exported me
0d60: 74 68 6f 64 73 22 3e 0d 0a 3c 44 54 3e 3c 41 20  thods">..<DT><A 
0d70: 4e 41 4d 45 3d 22 4d 39 22 3e 3c 49 3e 6f 62 6a  NAME="M9"><I>obj
0d80: 20 3c 2f 49 3e 3c 42 3e 64 65 73 74 72 6f 79 3c   </I><B>destroy<
0d90: 2f 42 3e 3c 2f 41 3e 3c 44 44 3e 0d 0a 54 68 69  /B></A><DD>..Thi
0da0: 73 20 6d 65 74 68 6f 64 20 64 65 73 74 72 6f 79  s method destroy
0db0: 73 20 74 68 65 20 6f 62 6a 65 63 74 2c 20 3c 49  s the object, <I
0dc0: 3e 6f 62 6a 3c 2f 49 3e 2c 20 74 68 61 74 20 69  >obj</I>, that i
0dd0: 74 20 69 73 20 69 6e 76 6f 6b 65 64 20 75 70 6f  t is invoked upo
0de0: 6e 2c 20 69 6e 76 6f 6b 69 6e 67 0d 0a 61 6e 79  n, invoking..any
0df0: 20 64 65 73 74 72 75 63 74 6f 72 73 20 6f 6e 20   destructors on 
0e00: 74 68 65 20 6f 62 6a 65 63 74 27 73 20 63 6c 61  the object's cla
0e10: 73 73 20 69 6e 20 74 68 65 20 70 72 6f 63 65 73  ss in the proces
0e20: 73 2e 20 49 74 20 69 73 20 65 71 75 69 76 61 6c  s. It is equival
0e30: 65 6e 74 20 74 6f 0d 0a 75 73 69 6e 67 20 3c 42  ent to..using <B
0e40: 3e 72 65 6e 61 6d 65 3c 2f 42 3e 20 74 6f 20 64  >rename</B> to d
0e50: 65 6c 65 74 65 20 74 68 65 20 6f 62 6a 65 63 74  elete the object
0e60: 20 63 6f 6d 6d 61 6e 64 2e 20 54 68 65 20 72 65   command. The re
0e70: 73 75 6c 74 20 6f 66 20 74 68 69 73 20 6d 65 74  sult of this met
0e80: 68 6f 64 20 69 73 0d 0a 61 6c 77 61 79 73 20 74  hod is..always t
0e90: 68 65 20 65 6d 70 74 79 20 73 74 72 69 6e 67 2e  he empty string.
0ea0: 0d 0a 3c 50 3e 3c 2f 44 4c 3e 0d 0a 3c 48 34 3e  ..<P></DL>..<H4>
0eb0: 3c 41 20 4e 41 4d 45 3d 22 4d 31 30 22 3e 4e 4f  <A NAME="M10">NO
0ec0: 4e 2d 45 58 50 4f 52 54 45 44 20 4d 45 54 48 4f  N-EXPORTED METHO
0ed0: 44 53 3c 2f 41 3e 3c 2f 48 34 3e 0d 0a 54 68 65  DS</A></H4>..The
0ee0: 20 3c 42 3e 6f 6f 3a 3a 6f 62 6a 65 63 74 3c 2f   <B>oo::object</
0ef0: 42 3e 20 63 6c 61 73 73 20 73 75 70 70 6f 72 74  B> class support
0f00: 73 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20  s the following 
0f10: 6e 6f 6e 2d 65 78 70 6f 72 74 65 64 20 6d 65 74  non-exported met
0f20: 68 6f 64 73 3a 0d 0a 3c 50 3e 0d 0a 3c 44 4c 20  hods:..<P>..<DL 
0f30: 63 6c 61 73 73 3d 22 6e 6f 6e 2d 65 78 70 6f 72  class="non-expor
0f40: 74 65 64 20 6d 65 74 68 6f 64 73 22 3e 0d 0a 3c  ted methods">..<
0f50: 44 54 3e 3c 41 20 4e 41 4d 45 3d 22 4d 31 31 22  DT><A NAME="M11"
0f60: 3e 3c 49 3e 6f 62 6a 20 3c 2f 49 3e 3c 42 3e 65  ><I>obj </I><B>e
0f70: 76 61 6c 3c 2f 42 3e 20 3f 3c 49 3e 61 72 67 20  val</B> ?<I>arg 
0f80: 2e 2e 2e 3c 2f 49 3e 3f 3c 2f 41 3e 3c 44 44 3e  ...</I>?</A><DD>
0f90: 0d 0a 54 68 69 73 20 6d 65 74 68 6f 64 20 63 6f  ..This method co
0fa0: 6e 63 61 74 65 6e 61 74 65 73 20 74 68 65 20 61  ncatenates the a
0fb0: 72 67 75 6d 65 6e 74 73 2c 20 3c 49 3e 61 72 67  rguments, <I>arg
0fc0: 3c 2f 49 3e 2c 20 61 73 20 69 66 20 77 69 74 68  </I>, as if with
0fd0: 20 3c 42 3e 63 6f 6e 63 61 74 3c 2f 42 3e 2c 0d   <B>concat</B>,.
0fe0: 0a 61 6e 64 20 74 68 65 6e 20 65 76 61 6c 75 61  .and then evalua
0ff0: 74 65 73 20 74 68 65 20 72 65 73 75 6c 74 69 6e  tes the resultin
1000: 67 20 73 63 72 69 70 74 20 69 6e 20 74 68 65 20  g script in the 
1010: 6e 61 6d 65 73 70 61 63 65 20 74 68 61 74 20 69  namespace that i
1020: 73 20 75 6e 69 71 75 65 6c 79 0d 0a 61 73 73 6f  s uniquely..asso
1030: 63 69 61 74 65 64 20 77 69 74 68 20 3c 49 3e 6f  ciated with <I>o
1040: 62 6a 3c 2f 49 3e 2c 20 72 65 74 75 72 6e 69 6e  bj</I>, returnin
1050: 67 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20  g the result of 
1060: 74 68 65 20 65 76 61 6c 75 61 74 69 6f 6e 2e 0d  the evaluation..
1070: 0a 3c 50 3e 3c 44 54 3e 3c 41 20 4e 41 4d 45 3d  .<P><DT><A NAME=
1080: 22 4d 31 32 22 3e 3c 49 3e 6f 62 6a 20 3c 2f 49  "M12"><I>obj </I
1090: 3e 3c 42 3e 75 6e 6b 6e 6f 77 6e 20 3f 3c 2f 42  ><B>unknown ?</B
10a0: 3e 3c 49 3e 6d 65 74 68 6f 64 4e 61 6d 65 3c 2f  ><I>methodName</
10b0: 49 3e 3f 20 3f 3c 49 3e 61 72 67 20 2e 2e 2e 3c  I>? ?<I>arg ...<
10c0: 2f 49 3e 3f 3c 2f 41 3e 3c 44 44 3e 0d 0a 54 68  /I>?</A><DD>..Th
10d0: 69 73 20 6d 65 74 68 6f 64 20 69 73 20 63 61 6c  is method is cal
10e0: 6c 65 64 20 77 68 65 6e 20 61 6e 20 61 74 74 65  led when an atte
10f0: 6d 70 74 20 74 6f 20 69 6e 76 6f 6b 65 20 74 68  mpt to invoke th
1100: 65 20 6d 65 74 68 6f 64 20 3c 49 3e 6d 65 74 68  e method <I>meth
1110: 6f 64 4e 61 6d 65 3c 2f 49 3e 20 6f 6e 0d 0a 6f  odName</I> on..o
1120: 62 6a 65 63 74 20 3c 49 3e 6f 62 6a 3c 2f 49 3e  bject <I>obj</I>
1130: 20 66 61 69 6c 73 2e 20 54 68 65 20 61 72 67 75   fails. The argu
1140: 6d 65 6e 74 73 20 74 68 61 74 20 74 68 65 20 75  ments that the u
1150: 73 65 72 20 73 75 70 70 6c 69 65 64 20 74 6f 20  ser supplied to 
1160: 74 68 65 20 6d 65 74 68 6f 64 20 61 72 65 0d 0a  the method are..
1170: 67 69 76 65 6e 20 61 73 20 3c 49 3e 61 72 67 3c  given as <I>arg<
1180: 2f 49 3e 20 61 72 67 75 6d 65 6e 74 73 2e 0d 0a  /I> arguments...
1190: 49 66 20 3c 49 3e 6d 65 74 68 6f 64 4e 61 6d 65  If <I>methodName
11a0: 3c 2f 49 3e 20 69 73 20 61 62 73 65 6e 74 2c 20  </I> is absent, 
11b0: 74 68 65 20 6f 62 6a 65 63 74 20 77 61 73 20 69  the object was i
11c0: 6e 76 6f 6b 65 64 20 77 69 74 68 20 6e 6f 20 6d  nvoked with no m
11d0: 65 74 68 6f 64 20 6e 61 6d 65 20 61 74 0d 0a 61  ethod name at..a
11e0: 6c 6c 20 28 6f 72 20 61 6e 79 20 6f 74 68 65 72  ll (or any other
11f0: 20 61 72 67 75 6d 65 6e 74 73 29 2e 0d 0a 54 68   arguments)...Th
1200: 65 20 64 65 66 61 75 6c 74 20 69 6d 70 6c 65 6d  e default implem
1210: 65 6e 74 61 74 69 6f 6e 20 28 69 2e 65 2e 2c 20  entation (i.e., 
1220: 74 68 65 20 6f 6e 65 20 64 65 66 69 6e 65 64 20  the one defined 
1230: 62 79 20 74 68 65 20 3c 42 3e 6f 6f 3a 3a 6f 62  by the <B>oo::ob
1240: 6a 65 63 74 3c 2f 42 3e 0d 0a 63 6c 61 73 73 29  ject</B>..class)
1250: 20 67 65 6e 65 72 61 74 65 73 20 61 20 73 75 69   generates a sui
1260: 74 61 62 6c 65 20 65 72 72 6f 72 2c 20 64 65 74  table error, det
1270: 61 69 6c 69 6e 67 20 77 68 61 74 20 6d 65 74 68  ailing what meth
1280: 6f 64 73 20 74 68 65 20 6f 62 6a 65 63 74 20 73  ods the object s
1290: 75 70 70 6f 72 74 73 0d 0a 67 69 76 65 6e 20 77  upports..given w
12a0: 68 65 74 68 65 72 20 74 68 65 20 6f 62 6a 65 63  hether the objec
12b0: 74 20 77 61 73 20 69 6e 76 6f 6b 65 64 20 62 79  t was invoked by
12c0: 20 69 74 73 20 70 75 62 6c 69 63 20 6e 61 6d 65   its public name
12d0: 20 6f 72 20 74 68 72 6f 75 67 68 20 74 68 65 0d   or through the.
12e0: 0a 3c 42 3e 3c 41 20 48 52 45 46 3d 22 3f 6e 61  .<B><A HREF="?na
12f0: 6d 65 3d 44 6f 63 3a 2b 6d 79 22 3e 6d 79 3c 2f  me=Doc:+my">my</
1300: 41 3e 3c 2f 42 3e 20 63 6f 6d 6d 61 6e 64 2e 0d  A></B> command..
1310: 0a 3c 50 3e 3c 44 54 3e 3c 41 20 4e 41 4d 45 3d  .<P><DT><A NAME=
1320: 22 4d 31 33 22 3e 3c 49 3e 6f 62 6a 20 3c 2f 49  "M13"><I>obj </I
1330: 3e 3c 42 3e 76 61 72 69 61 62 6c 65 20 3c 2f 42  ><B>variable </B
1340: 3e 3f 3c 49 3e 76 61 72 4e 61 6d 65 20 2e 2e 2e  >?<I>varName ...
1350: 3c 2f 49 3e 3f 3c 2f 41 3e 3c 44 44 3e 0d 0a 54  </I>?</A><DD>..T
1360: 68 69 73 20 6d 65 74 68 6f 64 20 61 72 72 61 6e  his method arran
1370: 67 65 73 20 66 6f 72 20 65 61 63 68 20 76 61 72  ges for each var
1380: 69 61 62 6c 65 20 63 61 6c 6c 65 64 20 3c 49 3e  iable called <I>
1390: 76 61 72 4e 61 6d 65 3c 2f 49 3e 20 74 6f 20 62  varName</I> to b
13a0: 65 20 6c 69 6e 6b 65 64 20 66 72 6f 6d 0d 0a 74  e linked from..t
13b0: 68 65 20 6f 62 6a 65 63 74 20 3c 49 3e 6f 62 6a  he object <I>obj
13c0: 3c 2f 49 3e 27 73 20 75 6e 69 71 75 65 20 6e 61  </I>'s unique na
13d0: 6d 65 73 70 61 63 65 20 69 6e 74 6f 20 74 68 65  mespace into the
13e0: 20 63 61 6c 6c 65 72 27 73 20 63 6f 6e 74 65 78   caller's contex
13f0: 74 2e 20 54 68 75 73 2c 20 69 66 20 69 74 0d 0a  t. Thus, if it..
1400: 69 73 20 69 6e 76 6f 6b 65 64 20 66 72 6f 6d 20  is invoked from 
1410: 69 6e 73 69 64 65 20 61 20 70 72 6f 63 65 64 75  inside a procedu
1420: 72 65 20 74 68 65 6e 20 74 68 65 20 6e 61 6d 65  re then the name
1430: 73 70 61 63 65 20 76 61 72 69 61 62 6c 65 20 69  space variable i
1440: 6e 20 74 68 65 20 6f 62 6a 65 63 74 0d 0a 69 73  n the object..is
1450: 20 6c 69 6e 6b 65 64 20 74 6f 20 74 68 65 20 6c   linked to the l
1460: 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 20 69 6e  ocal variable in
1470: 20 74 68 65 20 70 72 6f 63 65 64 75 72 65 2e 20   the procedure. 
1480: 45 61 63 68 20 3c 49 3e 76 61 72 4e 61 6d 65 3c  Each <I>varName<
1490: 2f 49 3e 20 61 72 67 75 6d 65 6e 74 0d 0a 6d 75  /I> argument..mu
14a0: 73 74 20 6e 6f 74 20 68 61 76 65 20 61 6e 79 20  st not have any 
14b0: 6e 61 6d 65 73 70 61 63 65 20 73 65 70 61 72 61  namespace separa
14c0: 74 6f 72 73 20 69 6e 20 69 74 2e 20 54 68 65 20  tors in it. The 
14d0: 72 65 73 75 6c 74 20 69 73 20 74 68 65 20 65 6d  result is the em
14e0: 70 74 79 20 73 74 72 69 6e 67 2e 0d 0a 3c 50 3e  pty string...<P>
14f0: 3c 44 54 3e 3c 41 20 4e 41 4d 45 3d 22 4d 31 34  <DT><A NAME="M14
1500: 22 3e 3c 49 3e 6f 62 6a 20 3c 2f 49 3e 3c 42 3e  "><I>obj </I><B>
1510: 76 61 72 6e 61 6d 65 20 3c 2f 42 3e 3c 49 3e 76  varname </B><I>v
1520: 61 72 4e 61 6d 65 3c 2f 49 3e 3c 2f 41 3e 3c 44  arName</I></A><D
1530: 44 3e 0d 0a 54 68 69 73 20 6d 65 74 68 6f 64 20  D>..This method 
1540: 72 65 74 75 72 6e 73 20 74 68 65 20 67 6c 6f 62  returns the glob
1550: 61 6c 6c 79 20 71 75 61 6c 69 66 69 65 64 20 6e  ally qualified n
1560: 61 6d 65 20 6f 66 20 74 68 65 20 76 61 72 69 61  ame of the varia
1570: 62 6c 65 20 3c 49 3e 76 61 72 4e 61 6d 65 3c 2f  ble <I>varName</
1580: 49 3e 0d 0a 69 6e 20 74 68 65 20 75 6e 69 71 75  I>..in the uniqu
1590: 65 20 6e 61 6d 65 73 70 61 63 65 20 66 6f 72 20  e namespace for 
15a0: 74 68 65 20 6f 62 6a 65 63 74 20 3c 49 3e 6f 62  the object <I>ob
15b0: 6a 3c 2f 49 3e 2e 0d 0a 3c 50 3e 3c 44 54 3e 3c  j</I>...<P><DT><
15c0: 41 20 4e 41 4d 45 3d 22 4d 31 35 22 3e 3c 49 3e  A NAME="M15"><I>
15d0: 6f 62 6a 20 3c 2f 49 3e 3c 42 3e 26 6c 74 3b 63  obj </I><B>&lt;c
15e0: 6c 6f 6e 65 64 26 67 74 3b 20 3c 2f 42 3e 3c 49  loned&gt; </B><I
15f0: 3e 73 6f 75 72 63 65 4f 62 6a 65 63 74 4e 61 6d  >sourceObjectNam
1600: 65 3c 2f 49 3e 3c 2f 41 3e 3c 44 44 3e 0d 0a 54  e</I></A><DD>..T
1610: 68 69 73 20 6d 65 74 68 6f 64 20 69 73 20 75 73  his method is us
1620: 65 64 20 62 79 20 74 68 65 20 3c 42 3e 6f 6f 3a  ed by the <B>oo:
1630: 3a 6f 62 6a 65 63 74 3c 2f 42 3e 20 63 6f 6d 6d  :object</B> comm
1640: 61 6e 64 20 74 6f 20 63 6f 70 79 20 74 68 65 20  and to copy the 
1650: 73 74 61 74 65 20 6f 66 20 6f 6e 65 0d 0a 6f 62  state of one..ob
1660: 6a 65 63 74 20 74 6f 20 61 6e 6f 74 68 65 72 2e  ject to another.
1670: 20 49 74 20 69 73 20 72 65 73 70 6f 6e 73 69 62   It is responsib
1680: 6c 65 20 66 6f 72 20 63 6f 70 79 69 6e 67 20 74  le for copying t
1690: 68 65 20 70 72 6f 63 65 64 75 72 65 73 20 61 6e  he procedures an
16a0: 64 20 76 61 72 69 61 62 6c 65 73 0d 0a 6f 66 20  d variables..of 
16b0: 74 68 65 20 6e 61 6d 65 73 70 61 63 65 20 6f 66  the namespace of
16c0: 20 74 68 65 20 73 6f 75 72 63 65 20 6f 62 6a 65   the source obje
16d0: 63 74 20 28 3c 49 3e 73 6f 75 72 63 65 4f 62 6a  ct (<I>sourceObj
16e0: 65 63 74 4e 61 6d 65 3c 2f 49 3e 29 20 74 6f 20  ectName</I>) to 
16f0: 74 68 65 20 63 75 72 72 65 6e 74 0d 0a 6f 62 6a  the current..obj
1700: 65 63 74 2e 20 49 74 20 64 6f 65 73 20 6e 6f 74  ect. It does not
1710: 20 63 6f 70 79 20 61 6e 79 20 6f 74 68 65 72 20   copy any other 
1720: 74 79 70 65 73 20 6f 66 20 63 6f 6d 6d 61 6e 64  types of command
1730: 73 20 6f 72 20 61 6e 79 20 74 72 61 63 65 73 20  s or any traces 
1740: 6f 6e 20 74 68 65 0d 0a 76 61 72 69 61 62 6c 65  on the..variable
1750: 73 3b 20 74 68 61 74 20 63 61 6e 20 62 65 20 61  s; that can be a
1760: 64 64 65 64 20 69 66 20 64 65 73 69 72 65 64 20  dded if desired 
1770: 62 79 20 6f 76 65 72 72 69 64 69 6e 67 20 74 68  by overriding th
1780: 69 73 20 6d 65 74 68 6f 64 20 69 6e 20 61 0d 0a  is method in a..
1790: 73 75 62 63 6c 61 73 73 2e 0d 0a 3c 50 3e 3c 2f  subclass...<P></
17a0: 44 4c 3e 0d 0a 3c 48 33 3e 3c 41 20 4e 41 4d 45  DL>..<H3><A NAME
17b0: 3d 22 4d 31 36 22 3e 45 58 41 4d 50 4c 45 53 3c  ="M16">EXAMPLES<
17c0: 2f 41 3e 3c 2f 48 33 3e 0d 0a 54 68 69 73 20 65  /A></H3>..This e
17d0: 78 61 6d 70 6c 65 20 64 65 6d 6f 6e 73 74 72 61  xample demonstra
17e0: 74 65 73 20 62 61 73 69 63 20 75 73 65 20 6f 66  tes basic use of
17f0: 20 61 6e 20 6f 62 6a 65 63 74 2e 0d 0a 3c 50 3e   an object...<P>
1800: 0d 0a 3c 50 52 45 3e 73 65 74 20 6f 62 6a 20 5b  ..<PRE>set obj [
1810: 3c 42 3e 6f 6f 3a 3a 6f 62 6a 65 63 74 3c 2f 42  <B>oo::object</B
1820: 3e 20 6e 65 77 5d 0d 0a 24 6f 62 6a 20 66 6f 6f  > new]..$obj foo
1830: 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 49 3e               <I>
1840: 3c 66 6f 6e 74 20 73 69 7a 65 3d 22 2b 31 22 3e  <font size="+1">
1850: 26 23 38 35 39 34 3b 3c 2f 66 6f 6e 74 3e 20 65  &#8594;</font> e
1860: 72 72 6f 72 20 26 71 75 6f 74 3b 75 6e 6b 6e 6f  rror &quot;unkno
1870: 77 6e 20 6d 65 74 68 6f 64 20 66 6f 6f 26 71 75  wn method foo&qu
1880: 6f 74 3b 3c 2f 49 3e 0d 0a 6f 6f 3a 3a 6f 62 6a  ot;</I>..oo::obj
1890: 64 65 66 69 6e 65 20 24 6f 62 6a 20 6d 65 74 68  define $obj meth
18a0: 6f 64 20 66 6f 6f 20 7b 7d 20 7b 0d 0a 20 20 20  od foo {} {..   
18b0: 20 6d 79 20 3c 42 3e 76 61 72 69 61 62 6c 65 3c   my <B>variable<
18c0: 2f 42 3e 20 63 6f 75 6e 74 0d 0a 20 20 20 20 70  /B> count..    p
18d0: 75 74 73 20 26 71 75 6f 74 3b 62 61 72 5b 69 6e  uts &quot;bar[in
18e0: 63 72 20 63 6f 75 6e 74 5d 26 71 75 6f 74 3b 0d  cr count]&quot;.
18f0: 0a 7d 0d 0a 24 6f 62 6a 20 66 6f 6f 20 20 20 20  .}..$obj foo    
1900: 20 20 20 20 20 20 20 20 20 3c 49 3e 3c 66 6f 6e           <I><fon
1910: 74 20 73 69 7a 65 3d 22 2b 31 22 3e 26 23 38 35  t size="+1">&#85
1920: 39 34 3b 3c 2f 66 6f 6e 74 3e 20 70 72 69 6e 74  94;</font> print
1930: 73 20 26 71 75 6f 74 3b 62 61 72 31 26 71 75 6f  s &quot;bar1&quo
1940: 74 3b 3c 2f 49 3e 0d 0a 24 6f 62 6a 20 66 6f 6f  t;</I>..$obj foo
1950: 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 49 3e               <I>
1960: 3c 66 6f 6e 74 20 73 69 7a 65 3d 22 2b 31 22 3e  <font size="+1">
1970: 26 23 38 35 39 34 3b 3c 2f 66 6f 6e 74 3e 20 70  &#8594;</font> p
1980: 72 69 6e 74 73 20 26 71 75 6f 74 3b 62 61 72 32  rints &quot;bar2
1990: 26 71 75 6f 74 3b 3c 2f 49 3e 0d 0a 24 6f 62 6a  &quot;</I>..$obj
19a0: 20 76 61 72 69 61 62 6c 65 20 63 6f 75 6e 74 20   variable count 
19b0: 20 3c 49 3e 3c 66 6f 6e 74 20 73 69 7a 65 3d 22   <I><font size="
19c0: 2b 31 22 3e 26 23 38 35 39 34 3b 3c 2f 66 6f 6e  +1">&#8594;</fon
19d0: 74 3e 20 65 72 72 6f 72 20 26 71 75 6f 74 3b 75  t> error &quot;u
19e0: 6e 6b 6e 6f 77 6e 20 6d 65 74 68 6f 64 20 76 61  nknown method va
19f0: 72 69 61 62 6c 65 26 71 75 6f 74 3b 3c 2f 49 3e  riable&quot;</I>
1a00: 0d 0a 24 6f 62 6a 20 3c 42 3e 64 65 73 74 72 6f  ..$obj <B>destro
1a10: 79 3c 2f 42 3e 0d 0a 24 6f 62 6a 20 66 6f 6f 20  y</B>..$obj foo 
1a20: 20 20 20 20 20 20 20 20 20 20 20 20 3c 49 3e 3c              <I><
1a30: 66 6f 6e 74 20 73 69 7a 65 3d 22 2b 31 22 3e 26  font size="+1">&
1a40: 23 38 35 39 34 3b 3c 2f 66 6f 6e 74 3e 20 65 72  #8594;</font> er
1a50: 72 6f 72 20 26 71 75 6f 74 3b 75 6e 6b 6e 6f 77  ror &quot;unknow
1a60: 6e 20 63 6f 6d 6d 61 6e 64 20 6f 62 6a 26 71 75  n command obj&qu
1a70: 6f 74 3b 3c 2f 49 3e 3c 2f 50 52 45 3e 0d 0a 3c  ot;</I></PRE>..<
1a80: 48 33 3e 3c 41 20 4e 41 4d 45 3d 22 4d 31 37 22  H3><A NAME="M17"
1a90: 3e 53 45 45 20 41 4c 53 4f 3c 2f 41 3e 3c 2f 48  >SEE ALSO</A></H
1aa0: 33 3e 0d 0a 3c 42 3e 3c 41 20 48 52 45 46 3d 22  3>..<B><A HREF="
1ab0: 3f 6e 61 6d 65 3d 44 6f 63 3a 2b 6d 79 22 3e 6d  ?name=Doc:+my">m
1ac0: 79 3c 2f 41 3e 3c 2f 42 3e 2c 20 3c 42 3e 3c 41  y</A></B>, <B><A
1ad0: 20 48 52 45 46 3d 22 3f 6e 61 6d 65 3d 44 6f 63   HREF="?name=Doc
1ae0: 3a 2b 6f 6f 3a 3a 63 6c 61 73 73 22 3e 6f 6f 3a  :+oo::class">oo:
1af0: 3a 63 6c 61 73 73 3c 2f 41 3e 3c 2f 42 3e 0d 0a  :class</A></B>..
1b00: 3c 48 33 3e 3c 41 20 4e 41 4d 45 3d 22 4d 31 38  <H3><A NAME="M18
1b10: 22 3e 4b 45 59 57 4f 52 44 53 3c 2f 41 3e 3c 2f  ">KEYWORDS</A></
1b20: 48 33 3e 0d 0a 62 61 73 65 20 63 6c 61 73 73 2c  H3>..base class,
1b30: 20 63 6c 61 73 73 2c 20 6f 62 6a 65 63 74 2c 20   class, object, 
1b40: 72 6f 6f 74 20 63 6c 61 73 73 0d 0a 0a 5a 20 37  root class...Z 7
1b50: 64 31 31 66 66 65 64 37 62 66 65 36 33 38 39 64  d11ffed7bfe6389d
1b60: 32 39 32 30 31 31 37 65 34 62 65 62 32 64 33 0a  2920117e4beb2d3.