X
Xah Lee
© # -*- coding: utf-8 -*-
© # Python
©
© # in Python, one can define a boxed set
© # of data and functions, which are
© # traditionally known as "class".
©
© # in the following, we define a set of data
© # and functions as a class, and name it xxx
© class xxx:
© "a class extempore! (^_^)"
© i=1 # i'm a piece of data
© def okaydokey(self): return "okaydokey"
© def square(self,a): return a**a
©
© # in the following,
© # we create an object, of the class xxx.
© # also known as "instantiate a class".
© x = xxx()
©
© # data or functions defined in a class
© # are called the class's attributes or
© # methods.
© # to use them, append a dot and
© # their name after the object's name.
© print 'value of attribute i is:', x.i
© print "3 squared is:", x.square(3)
© print "okaydokey called:", x.okaydokey()
©
© # in the definition of function inside a
© # class, the first parameter "self" is
© # necessary. (you'll know why when you need to)
©
© # the first line in the class definition
© # is the class's documentation. It can
© # be accessed thru the __doc__
© # attribute.
© print "xxx's doc string is:", x.__doc__
©
© # one can change data inside the class
© x.i = 400
©
© # one can also add new data to the class
© x.j=4
© print x.j
©
© # or even override a method
© x.square = 333
© # (the following line will no longer work)
© # print "3 squared is:", x.square(3)
©
© # in Python, one must be careful not to
© # overwrite data or methods defined in a
© # class.
----------------------
for a obfuscated treatment with a few
extra info, see
http://python.org/doc/2.3.4/tut/node11.html
in Python terminal, type help() then
topic CLASSES to read about existing
datatypes as classes, and classes in
Python
try to write a class with one data of
integer and two functions, one
increases it by 1, one decreases it by
1. note: inside a class definition,
to refer to data inside itself use
self. e.g. self.i
------------------------------------------
Perl does not support classes or
objects in the so-called "Object
Oriented" programing. However, a
complete set of emulations of OO
style of programing have been done,
resulting in modules and books and
many documentations and tutorials.
here is a quote from
perldoc perlobj
First you need to understand what
references are in Perl. See perlref for
that. Second, if you still find the
following reference work too
complicated, a tutorial on
object-oriented programming in Perl can
be found in perltoot and perltooc.
it goes on and sayz:
If you're still with us, then here are
three very simple definitions that you
should find reassuring.
1. An object is simply a reference
that happens to know which class
it belongs to.
2. A class is simply a package that
happens to provide methods to deal
with object references.
3. A method is simply a subroutine
that expects an object reference
(or a package name, for class
methods) as the first argument.
Good luck.
Note: this post is from the Perl-Python a-day mailing list at
http://groups.yahoo.com/group/perl-python/
to subscribe, send an email to perl-python-subscribe @ yahoogroups.com
if you are reading it on a web page, program examples may not run
because html conversion often breaks the code.
Xah
(e-mail address removed)
http://xahlee.org/PageTwo_dir/more.html
© # Python
©
© # in Python, one can define a boxed set
© # of data and functions, which are
© # traditionally known as "class".
©
© # in the following, we define a set of data
© # and functions as a class, and name it xxx
© class xxx:
© "a class extempore! (^_^)"
© i=1 # i'm a piece of data
© def okaydokey(self): return "okaydokey"
© def square(self,a): return a**a
©
© # in the following,
© # we create an object, of the class xxx.
© # also known as "instantiate a class".
© x = xxx()
©
© # data or functions defined in a class
© # are called the class's attributes or
© # methods.
© # to use them, append a dot and
© # their name after the object's name.
© print 'value of attribute i is:', x.i
© print "3 squared is:", x.square(3)
© print "okaydokey called:", x.okaydokey()
©
© # in the definition of function inside a
© # class, the first parameter "self" is
© # necessary. (you'll know why when you need to)
©
© # the first line in the class definition
© # is the class's documentation. It can
© # be accessed thru the __doc__
© # attribute.
© print "xxx's doc string is:", x.__doc__
©
© # one can change data inside the class
© x.i = 400
©
© # one can also add new data to the class
© x.j=4
© print x.j
©
© # or even override a method
© x.square = 333
© # (the following line will no longer work)
© # print "3 squared is:", x.square(3)
©
© # in Python, one must be careful not to
© # overwrite data or methods defined in a
© # class.
----------------------
for a obfuscated treatment with a few
extra info, see
http://python.org/doc/2.3.4/tut/node11.html
in Python terminal, type help() then
topic CLASSES to read about existing
datatypes as classes, and classes in
Python
try to write a class with one data of
integer and two functions, one
increases it by 1, one decreases it by
1. note: inside a class definition,
to refer to data inside itself use
self. e.g. self.i
------------------------------------------
Perl does not support classes or
objects in the so-called "Object
Oriented" programing. However, a
complete set of emulations of OO
style of programing have been done,
resulting in modules and books and
many documentations and tutorials.
here is a quote from
perldoc perlobj
First you need to understand what
references are in Perl. See perlref for
that. Second, if you still find the
following reference work too
complicated, a tutorial on
object-oriented programming in Perl can
be found in perltoot and perltooc.
it goes on and sayz:
If you're still with us, then here are
three very simple definitions that you
should find reassuring.
1. An object is simply a reference
that happens to know which class
it belongs to.
2. A class is simply a package that
happens to provide methods to deal
with object references.
3. A method is simply a subroutine
that expects an object reference
(or a package name, for class
methods) as the first argument.
Good luck.
Note: this post is from the Perl-Python a-day mailing list at
http://groups.yahoo.com/group/perl-python/
to subscribe, send an email to perl-python-subscribe @ yahoogroups.com
if you are reading it on a web page, program examples may not run
because html conversion often breaks the code.
Xah
(e-mail address removed)
http://xahlee.org/PageTwo_dir/more.html