1 # # 广义的封装: 实例化一个对象,给对象空间封装一些属性
2 # # 狭义的封装: 私有制
3 # # 私有成员: 私有静态字段,
4 # # 私有方法
5 # class B:
6 # __money = 1000000
7 #
8 #
9 # class A(B):
10 # name = 'alex'
11 # __age = 1000
12 #
13 # def __func(self):
14 # print(self.__age)
15 # print('func....')
16 #
17 # # def func1(self):
18 # # print(self.__money)
19 #
20 #
21 # a1 = A()
22 # a1.func()
23 # print(a1.name)
24 # print(A.name)
25 # # print(a1.__age) #实例化对象不能访问私有静态字段
26 # # print(A.__age) # 类名不能访问
27 # # 对于私有静态字段,类的外部不能访问,类的内部可以访问
28 # # 对于私有静态字段来说:
29 # # 只能在本类中内部访问类的外部,派生类均不能访问
30 #
31 # # 可以访问,但是工作中千万不要用
32 # # print(A._A__age)
33 # print(A.__dict__)
34 # # a1 =A()
35 # # a1.__func()
36
37 # 面试题
38 class Parent:
39 def __func(self):
40 print('in Parent func')
41
42 def __init__(self):
43 self.__func()
44
45
46 class Son(Parent):
47 def __func(self):
48 print('in Son func')
49
50
51 son1 = Son()