Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Perl > Perl Misc > [perl-python] 20050124 classes & objects

Reply
Thread Tools

[perl-python] 20050124 classes & objects

 
 
Xah Lee
Guest
Posts: n/a
 
      01-24-2005
# -*- 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
http://www.velocityreviews.com/forums/(E-Mail Removed)
http://xahlee.org/PageTwo_dir/more.html

 
Reply With Quote
 
 
 
 
Chris Mattern
Guest
Posts: n/a
 
      01-24-2005
Xah Lee wrote:

> Perl does not support classes or
> objects in the so-called "Object
> Oriented" programing.


Boy, the ignorance never stops, does it?

> However, a
> complete set of emulations of OO
> style of programing have been done,
> resulting in modules and books and
> many documentations and tutorials.
>


It doesn't have OO, but it emulates in software!
Better go with python, which has hardware OO.
--
Christopher Mattern

"Which one you figure tracked us?"
"The ugly one, sir."
"...Could you be more specific?"
 
Reply With Quote
 
 
 
 
Gian Mario Tagliaretti
Guest
Posts: n/a
 
      01-24-2005
Chris Mattern wrote:

>
> It doesn't have OO, but it emulates in software!
> Better go with python, which has hardware OO.


Chris don't feed the troll
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
class objects, method objects, function objects 7stud Python 11 03-20-2007 06:05 PM
Classes within classes David ASP .Net 2 07-22-2005 07:13 PM
[perl-python] 20050124 classes & objects Xah Lee Python 2 01-24-2005 06:45 PM
Can I using reflection to get all child classes or classes undera package dynamically? Carfield Yim Java 1 05-31-2004 05:33 PM
How to access inner classes variables & methods from outer classes lonelyplanet999 Java 1 11-13-2003 01:54 PM



Advertisments