成神之路-基础篇1-面向对象

面向对象

一、面向对象与对象过程

二、三大特征

  • 封装
  • 继承
  • 多态

三、五大原则

  • 单一职责:一个类只做一件事,达到高内聚低耦合
  • 开闭:对扩展开放,对修改封闭
    做法:针对接口编程
  • 里氏替换:子类能完全替代基类,约束继承体系
    做法:针对接口编程,将公共部分抽象为接口或者抽象类
  • 依赖倒置:依赖于抽象,而不依赖具体
    做法:针对接口编程,上层和底层都实现接口,上层调用接口,底层实现接口
interface Transport {
    void move();
}

class Car implements Transport {
    @Override
    public void move() {
        System.out.println("start engine, and move forward 1 kilometer");
    }
}

class Bicycle implements Transport {
    @Override
    public void move() {
        System.out.println("get on bicycle, and move forward 1 kilometer");
    }
}

class Driver {
    void drive(Transport t) {
        t.move();
    }
}

public class Demo {
    public static void main(String[] args) {
        Driver d = new Driver();
        d.drive(new Bicycle());
        d.drive(new Car());
    }
}
  • 接口隔离:避免胖接口

四、多态

静态多态与动态多态

  1. 静态多态:重载,编译期决定
  2. 动态多态:重写,运行期决定
    条件
  • 继承
  • 重写
  • 向上转型

五、平台无关性

  • 语言层面
  • Class平台无关
  • JVM平台有关
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。