三、依赖倒置原则
2018-05-06 本文已影响3人
Jimmy5Zhang
1、定义
依赖倒置原则,高层模块不应该依赖底层模块,两者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。
DIP_Diagram.png2、实现
(1)定义车接口
public interface ICar {
void run();
}
(2)定义司机接口
public interface IDriver {
void drive(ICar car);
}
(3)司机实现类
public class Driver implements IDriver {
@Override
public void drive(ICar car) {
car.run();
}
}
(4)奔驰车实现类
public class Benz implements ICar {
@Override
public void run() {
Log.d("JimmyZhang", "奔驰汽车开始运行...");
}
}
(5)宝马车实现类
public class BMW implements ICar {
@Override
public void run() {
Log.d("JimmyZhang", "宝马汽车开始运行...");
}
}
(7)测试实现
public class Client {
public static void main(String[] args) throws IOException {
IDriver zhangsan = new Driver();
ICar benz = new Benz();
zhangsan.drive(benz);
}
}