Python面向对象初级教程的编排

cakecc00 2010-03-10

Python不单能用作结构化编程,还可以面向高级语言的对象,此文章将介绍Python面向对象的一种相关编程方案。希望你通过以下的文章,对Python面向对象的相关编程方案有所了解,也对其产生兴趣。

类的定义,类的定义使用关键字class,后跟类的名称,及":"。如定义一个Point类

定义一个空的类,没有任何属性与方法

class Point:  


    pass  


'''  

向类中添加类属性(有的称之为类成员),类属性与其它的变量使用方法一致,第一次使用便是对此变量的定义,属性的作用域为整个类,即这个类的所有方法可以访问此属性,定义Point属性的属性x和y

定义一个空的类,没有任何属性与方法

class Point:  


    # 定义x和y坐标  



    x = 10 




    y = 10 



 


'''  


 

类方法为特殊的函数,其定义方法与函数类似,但有一个默认的参数self,表示此类对象的实例(instance),定义类的方法,设置x的方法setX和获取x的方法getX。
'''
定义一个完整的类,包含属性与方法

class Point:  


    # 定义x和y坐标  



    x = 10 




    y = 10 



    def 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  


    def setXY(self,x_,y_):  


        self.setX(x_)  


        self.setY(y_)  


'''  

注意:这个类方法如何访问类属性,使用self.x,而不是x。python类方法与C++不同,类的成员方法不会自动使用类的属性,必须使用self明确指定。如果只使用x,则在setX函数中创建了一个变量x,并将其值设置为_x。同样对于类方法之间互相访问时也必须使用self指定为调用的为类的方法。

python还支持在类定义块之外定义方法,这个方法满足类方法,例如先定义一个函数

然后定义类,并将类成员h赋值为

outX  


def out_setX(self,x_):  



    self.x = x_ 

创建一个类的对象,并访问这个类的属性和方法

创建Point的一个对象

pt = Point()  

设置坐标x的值

x = 10 



y = 10 




setX = out_setX 
pt.x = 10 

获取坐标x的值

print pt.x  

访问对象的方法

相关推荐