从 0101打孔纸带 到 汇编语言,再到现在的 高级语言,编程方式的每一次改变,都会对计算机带来很大的变化。
从最开始的 过程式语言,典型的代表:C/C++。之后的 函数式语言,与 过程式语言 相比, 函数式语言 更为难以理解,学习成本会高于多。
对于编程语言发展有巨大影响的要素是 面向对象 方式的提出。面向对象 在过程式的基础上,引入了 对象和对象方法,主张将 方法尽可能的归类到合适的对象上去。
面向对象 三要素:封装、继承、多态。
- 封装 - 将不同的方法归到一个类中
- 多态 - 不同的类具有相同的行为,可以用相同的方法表示该行为
对于 继承,有些点错技能点的味道!!
继承 很容易造成一些问题,比如:我想要一根香蕉,可能会得到 一只猴子拿着一根香蕉,后面是一片森林。也就是说,有时候,我们只想要一点点的功能,但通过 继承 这种方式,我们得到的是整个世界。
面向接口 的编程方式,提出 用接口的方式取代继承。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
| class A:
def SayHello(self):
print("A hello")
class B:
def SayGoodBye(self):
print("B goodbye")
class C(A, B):
pass
class D:
def __init__(self):
self.a_obj = A()
self.b_ojb = B()
def SayHello(self):
return self.a_obj.SayHello()
def SayGoodBye(self):
return self.b_ojb.SayGoodBye()
if __name__ == '__main__':
c_obj = C()
c_obj.SayHello()
c_obj.SayGoodBye()
d_obj = D()
d_obj.SayHello()
d_obj.SayGoodBye()
|
采用接口的方式,避免了过多的继承父类的其他自有方法,想要的是香蕉,得到的也只是香蕉。
Author
Alfons
LastMod
2019-05-25
License
Creative Commons BY-NC-ND 3.0