python教程:面向对象(三)

2025-10-02 23:52:26

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();

python教程:面向对象(三)

2、静态成员变量

下面的代码中。name就是我们说的静态成员变量。

class A:

 

   name = "name is static"

 

   def func(self):

 

      print 'is A'

 

print A.name;

输出结果:

python教程:面向对象(三)

3、静态成员方法:

用@staticmethod装饰的方法为静态成员方法:

class A:

 

   @staticmethod

 

   def func():

 

      print 'is A'

 

A.func();

python教程:面向对象(三)

4、重载运算符:

可以重载的运算符:

python教程:面向对象(三)

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

python教程:面向对象(三)

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
相关推荐
  • 阅读量:155
  • 阅读量:118
  • 阅读量:164
  • 阅读量:168
  • 阅读量:143
  • 猜你喜欢