VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > Python基础教程 >
  • python魔术方法详解(4)

 

super函数只能在新式类中使用。当前类和对象可以作为super函数的参数使用,调用函数返回的对象的任何方法都是调用超类的方法,而不是当前类的方法。那就可以不同在SongBird的构造方法中使用Bird,而直接使用super(SongBird,self)。

 

属性

访问器是一个简单的方法,它能够使用getHeight 、setHeight 之样的名字来得到或者重绑定一些特性。如果在访问给定的特性时必须要采取一些行动,那么像这样的封装状态变量就很重要。如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class Rectangle:
    def __init__(self):
        self.width= 0
        self.height= 0
    def setSize(self,size):
        self.width ,self.height= size
    def getSize(self):
        return self.width ,self.height
>>> r= Rectangle()
>>> r.width= 10
>>> r.height= 5
>>> r.getSize()
(10,5)
>>> r.setSize((150,100))
>>> r.width
150

 

在上面的例子中,getSize和setSize方法一个名为size的假想特性的访问器方法,size是由width 和height构成的元组。

 

property 函数

property函数的使用很简单,如果已经编写了一个像上节的Rectangle 那样的类,那么只要增加一行代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
__metaclass__= type
class Rectangle:
    def __int__(self):
        self.width= 0
        self.height= 0
    def setSize(self,size):
        self.width,self.height= size
    def getSize(self):
        return self.width ,self.height
    size= property(getSize ,setSize)
>>> r= Rectangle()
>>> r.width= 10
>>> r.height= 5
>>> r.size
(10,5)
>>> r.size= 150,100
>>> r.width
150

相关教程