1 '''
2 类成员的组成:
3 字段:
4 1、普通字段
5 2、静态字段
6 方法:
7 1、普通方法
8 '''
9 '''
10 字段:普通字段,静态字段
11 '''
12 #/usr/bin/python
13 class wu(object):
14 #静态字段
15 name = 'sanjiang'
16
17 def __init__(self,name,age):
18 #普通字段
19 self.name = name
20 self.age = age
21 #直接访问普通字段
22 obj = wu('sanjiang',18)
23 print(obj.name,obj.age)
24 #直接访问静态字段
25 print(wu.name)
26
27 '''
28 类方法:普通方法。静态方法,类方法
29 普通方法:由对象调用;至少一个self参数;执行普通方法时,自动将调用该方法的对象赋值给self;
30 类方法:由类调用; 至少一个cls参数;执行类方法时,自动将调用该方法的类复制给cls;
31 静态方法:由类调用;无默认参数;
32 '''
33 class method(object):
34
35 def __init__(self,name):
36 self.name = name
37
38 def ordinary(self):
39 #定义普通方法
40 print('这是一个类的普通方法')
41
42 @classmethod
43 def class_method(cls):
44 #定义类方法,至少传一个cls参数
45 print('这是一个类方法')
46 @staticmethod
47 def static_method():
48 #定义静态方法 ,无默认参数
49 print('这是一个静态方法')
50 #调用普通方法
51 function_method = method('sanjiang')
52 function_method.ordinary()
53 #调用类方法
54 method.class_method()
55 #调用静态方法
56 method.static_method()
57
58 '''
59 属性的基本使用
60 '''
61
62 class attribute(object):
63 def function(self):
64 pass
65
66 #定义属性
67
68 @property
69 def func_property(self):
70 print('属性')
71 attr_obj = attribute()
72 # attr_obj.function()
73 attr_obj.func_property
74
75
76 #私有成员
77
78 class private(object):
79 def __init__(self):
80 self.__foo = '私有字段'
81 def func(self):
82 print(self.__foo) #类内部访问
83
84 class d(private):
85 def show(self):
86 print(self.__foo)
87 obj = private()
88 obj.func()
89 # obj1 = d()
90 # obj1.show() 会报错 只能类内部访问
91 #非要访问私有属性的话如下:
92 print(obj._private__foo)