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

采用接口的方式,避免了过多的继承父类的其他自有方法,想要的是香蕉,得到的也只是香蕉。