目录
一、抽象:
抽象和实例对立,抽象可以理解为是总结概括,比如说在座的各位,抽象的叫做人,那么具体到每个人,比如张三,这就是实例。
二、封装:
封装的重点就是藏起来,只要会如何使用,不用知道内部的规则,比如说这位环卫工人,他根本不用知道这个机器的内部结构,怎么组成,只要会使用就行了。这是对使用者来说,对于创造者来说,他也不用告诉你这台机器是怎么样发明的,只要告诉你这台机器的使用方法就行了
总的来说就是:你想做什么事,我给你提供方法,除此之外你什么都不用知道
三、继承:
入图所示,这个扫地机器是一台拖拉机改造而来的,这台拖拉机的零件都还在,只是在基础上增添了一些东西变成了扫地机,也就是说这个扫地机是继承拖拉机而来的,稍微改造下,拥有了新功能
继承的核心就是:把原来的东西拿来用,保留原来的东西,添加一下它原本所没有的东西,从而拥有新的功能
四、多态:
可以理解为同一种东西的不同种状态,比如图中的扫地扫把,可以用它拿来扫地,热的话,甚至可以拿来扇风,除了扫广场,还可以扫街道,可以有多种状态,这就叫多态
五、重用:
实际上就是重复利用,白嫖,图中的扫把扫地的动力,不用在额外东西提供,而是用拖拉机本身的动力带动,反正你都是要输出动力的,那我白嫖你的,重复利用你的动力来做我想做的事情。也可以理解为是借力,但是不用还,对于发动机的确实现了重用,皆可以使拖拉机前进,也可以用来驱动扫地
六、多线程:
图中的多个扫把工作就是多线程,一个扫把扫地就是单线程
七、耦合,内聚:
低耦合高内聚是什么样的呢,就是在一段代码中,我们改变了其中的一段,对其他的部分影响特别小,甚至没有,这就是我们所追求的低耦合高内聚,耦合就是各个部分相互之间的影响,内聚就是不影响,比如说我们拿下去了一个扫把,这对整体的影响是非常小的,这就是低耦合高内聚,改变一个部分,对整体丝毫不产生影响,这种是不存在,因为隶属于一个整体,改变其中的东西,对整体来说多多少少还是会一点影响的吧
八、组件编程:
每一个配件都可以单独去使用,比如说每一个扫把单独拆下来,都可以去扫地吧,组件编程就是说,整个程序由不同的部分组成
九、适配器模式:
通过继承,得到一些东西,拿过来用
十、代码托管:
比如说图中的扫完的垃圾,放在路边就可以了,有专门的人来处理,自己不用干
说白了代码托管就是有些事情自己不用干,别人帮你干