python 面向对象初认识

python里面也可以出现一个类,将属性和对象进行封装,这就引出了python面向对象的思想。

封装:

class openclass():
    #setter and getter method
    def _int_ setX(self,x):
        self.x=x
    def getX(self):
        return self.x
    def setY(self,y):
        self.y=y
    def getY(self):
        return self.y   
    test1=test2 
    def test(self):     
        print "test" 

# initialize object   
open =  openclass()   
print open.getX() 

 

以上是一个简单的类,初始化变量,定义setter getter方法,以及实例化对象的调用。

 

在类中,方法的定义也可以在外面像这样:

def test1(self):     
    print "test1" 

class openclass():     
    test=test1  

open = openclass()     
open.test()

 

继承:


引用简明 Python 教程一个小例子说明:

#!/usr/bin/python
# -*- coding:gb2312 -*-
# Filename: inherit.py

class Person:
    def __init__(self,name,age):   #定义SchoolMember类的2个参数
        self.name = name
        self.age = age
    
    def tell(self):         
        print 'Name:"%s",Age:"%s"' % (self.name,self.age), #别小瞧了末尾的这个逗号

class Teacher(Person):
    def __init__(self,name,age,salary):  #Teacher类的3个属性
        Person.__init__(self,name,age)  #从SchoolMember继承2个属性,终于知道原来这就是继承:)
        self.salary = salary     #别忘了定义其他参数

    def tell(self):
        Person.tell(self)
        print 'Salary:"%d"' % self.salary

class Student(Person):
    def __init__(self,name,age,marks):
        Person.__init__(self,name,age)
        self.marks= marks

    def tell(self):
        Person.tell(self)
        print 'Marks:"%d"' % self.marks,

    
t = Teacher('Mr.Swaroop',26,30000) # 类实例的三个属性
s = Student('Song',22,77)

members = [t,s]
for member in members:  #喜欢python当然也少不了对for...in的青睐 
    member.tell()

 

 

 

posted @ 2012-06-06 18:15  Daniel大东  阅读(331)  评论(0编辑  收藏  举报