java基础学习总结之基本特征,最开始学习的时候,是形而上的理解,用了3年多,再回头看,理解起来颇为顺理成章

语言学习大概就是这样一种规律,学习,不甚解,应用,应用,渐深入人心,回头一看,恍然一悟

  最近总结设计模式的六大原则,感觉颇有联系,先列出6大原则:

  迪米特法则,里氏替换原则,依赖倒置,接口隔离,合成聚合,开闭原则

第一个,抽象

  抽象并非java语言独有。一句话:忽略无关细节,对事物的行为和属性做抽象,反映为类中的域和方法

第二个,封装

  隐藏内部细节,只提供与外界通信的接口

  这个特征与迪米特法则有些联系,迪米特法则要求实体间发生作用要尽量少,使得各个类相互独立,放大来说,各个系

统能相互独立,干自己的事,同事兼容的向外提供服务,笔者觉得封装这个词用来形容小服务,微服务也挺适合

第三个、继承

  一个类派生出子类,称为继承,派生类继承基类的方法和实例变量,并可以覆盖或增加新的方法

  这里就产生了子类父类的概念。我们结合第一个特征抽象,可以看到依赖倒置的原则就是这么来的,抽象不能依赖于

具体而是让具体依赖于抽象。

  如果将继承的概念广泛化,那么实现接口也会产生子类和父类,开闭原则要求内部对扩展开放,对修改关闭,与继承有

很大的联系

  里氏替换原则更简单的理解是,子类能出现的地方,父类一定也能出现并代替,在编程中其实很多地方都体现了,最常

见的 Map<xxx,xxx> map = new HashMap<>(); List<> list = new ArrayList<>(); 并非说一定要这样写,笔者开始用的时候其实

也不太理解为啥要这么写,直到后来看到书中作者的描述

  合成和聚合原则,其实更好的词是组合和聚合,现在很多概念的界限其实都不是那么标准或严格了,我们将继承和持有,

一般是持有有限,持有就是持有一个实例

  总之,一个继承诞生了无数的情形,开发者从中得到了很多经验的做法和原则,这个只能在设计和编码中慢慢体会

第四个、多态

  父类的方法在子类中表现出不同的行为。有多态,那就有继承,有重写,有父类引用指向子类对象

  多态例子太多了,做web开发的见得不要太多。但是,但是,利用多态衍生出的设计模式才是精髓,整个23种设计模式

到处都有体现,多态的光芒,无处不在,我们的里氏替换原则就是直接的体现。

  java面向对象的基本特征其实没啥说的,难的是从中衍生的各种应用,譬如继承关系的类的加载顺序,设计模式,以及

我们的数据库表设计(抽象和封装能力),这些后面的篇章先预留着做总结。

  

05-28 13:11