Java 语言的设计思想
1.面向对象
1.代码的世界是什么?
其实可以看成是现实世界映射成代码的影子,不过为了更方便实现和理解,采用了各种思维模式去实现.
2.常见的代码思维模式有哪些?
面向过程,面向对象,面向接口,函数式编程等等
3.面向对象是什么?
编程, 在我理解而言,面向对象其实就是面向抽象编程.
4.什么是抽象?
抽象可以理解成抽离不同事物之间的共性,抽离出的这个共性使用一个东西指代,这个就叫做类.
5.为什么要抽象?
可以抽离出重复性代码,也符合现实世界以及人思考的方式。
举个栗子:
笔记本电脑, 台式机电脑, 掌上电脑, 工业的嵌入式电脑,它们都有共性,本身都属于电脑. 这个时候就可以把这些共性抽离出来.例如都有CPU、内存、硬盘、主板、电源等共性。
这样一来的好处就是,把原本定义在各个类型电脑中的重复性描述代码抽离到了电脑这个抽象出来的类中。
周总理说的求同存异思想其实在代码世界中也是程序员的追求,因为相同的重复性代码,只需要一份,太多重复代码只会无意义消耗电脑资源,阅读和维护也很麻烦,无谓地人力和物力。
2.面向接口
1.什么是接口
就是定义类一系列方法的集合,一个类实现了这个接口,就必须把这些方法都实现。
所以其实接口是对实现这个接口类的一个约束,约束这些方法名字,但并没有约束方法的代码具体实现。
Java本身的Collection中的List、Set都是实现的类,这两个类的子类ArrayList、LinkedList、HashSet都是遵照这个思想。这样一来的好处是,