python教程:面向对象(三)
1、多态:
父类A的两个派生类B和C,都去重写方法func。都是调用func,由于他们的类不同也导致他们行为也不同。这就是多态。
class A:
def func(self):
print 'is A'
class B(A):
def func(self):
print "is B"
class C(A):
def func(self):
print "is C"
a = A();
b = B();
c = C();
list = [a,b,c]
for obj in list:
obj.func();
2、静态成员变量
下面的代码中。name就是我们说的静态成员变量。
class A:
name = "name is static"
def func(self):
print 'is A'
print A.name;
输出结果:
3、静态成员方法:
用@staticmethod装饰的方法为静态成员方法:
class A:
@staticmethod
def func():
print 'is A'
A.func();
4、重载运算符:
可以重载的运算符:
5、重载运算符实例:
class A:
def __init__(self, value):
self.value = value;
def __add__(self, other):
num = self.value + other.value;
return A(num);
a = A(1);
b = A(5)
print (a+b).value
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:155
阅读量:118
阅读量:164
阅读量:168
阅读量:143