类的难点

 1 class A:
 2     def bar(self):
 3         print('bar')
 4         self.f1()# 找对象的f1,不是当前类的f1
 5 class B(A):
 6     def f1(self):
 7         print('B')
 8 class C:
 9     def f1(self):
10         print('C')
11 class D(C,B):
12     pass
13 
14 d1 = D()
15 d1.bar()

 

 1 class annimail:
 2     def __init__(self):
 3         print('A的构造方法')
 4         self.ty = '动物'
 5 
 6 class cat(annimail):
 7     def __init__(self):
 8         print('B的构造方法')
 9         self.n = ''
10         # 继承A的构造方法
11         super(cat,self).__init__()
12 
13 c= cat()
14 print(c.__dict__)

resul:

B的构造方法
A的构造方法
{'n': '猫', 'ty': '动物'}

 1 class provence:
 2     # 静态字段
 3     country ='china'
 4     # 静态方法
 5     @staticmethod
 6     def xo(a,b):
 7         print(a+b)
 8     #类方法(至少传一个cls参数,打印类名字,静态方法的特殊用法)
 9     @classmethod
10     def xxoo(cls):
11         print(cls)
12     # 构造函数
13     def __init__(self,name):
14         self.name = name
15     # 普通方法
16     def show(self):
17         print('show')

 

posted @ 2017-02-24 23:26  Erick-LONG  阅读(217)  评论(0编辑  收藏  举报