zoukankan      html  css  js  c++  java
  • java面向对象特征 — 一句话概括

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

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

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

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

    第一个,抽象

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

    第二个,封装

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

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

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

    第三个、继承

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

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

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

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

    很大的联系

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

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

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

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

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

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

    第四个、多态

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

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

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

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

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

      

  • 相关阅读:
    Java中的File类
    scala语法
    Spark核心原理
    资源调度器
    YARN工作机制
    MapReduce原理和工作过程
    序列化
    Hbase(2)表的设计和Rowkey等的设计
    Hbase(1)架构和工作原理
    Exception in thread "main" java.lang.NoSuchMethodError: io.netty.buffer.PooledByteBufAllocator.metric()Lio/netty/buffer/PooledByteBufAllocatorMetric;
  • 原文地址:https://www.cnblogs.com/yb38156/p/9547570.html
Copyright © 2011-2022 走看看