七个原则2-依赖倒置原则

2018-12-25  本文已影响0人  CC晨_程序小生

七个原则2-依赖倒置原则

示例-依赖倒置原则UML

示例-依赖倒置原则UML

ICourse接口

public interface ICourse {
    void studyCourse();
}

JavaCourse类

public class JavaCourse implements ICourse {
    @Override
    public void studyCourse() {
        System.out.println("cc学习Java的课程");
    }
}

FECourse

public class FECourse implements ICourse {
    @Override
    public void studyCourse() {
        System.out.println("cc学习前端的课程");
    }
}

Cc类

public class Cc {
    private ICourse iCourse;

    public Cc setICourse(ICourse iCourse){
        this.iCourse = iCourse;
        return this;
    }

    public void studyCourse(){
        iCourse.studyCourse();
    }
}

Test类

public class Test {
    //v1 直接对象方法实现
//    public static void main(String[] args) {
//        Cc cc = new Cc();
//        cc.studyJavaCourse();
//        cc.studyFECourse();
//    }

    //v2 方法传参实现
//    public static void main(String[] args) {
//        Cc cc = new Cc();
//        cc.studyCourse(new JavaCourse());
//        cc.studyCourse(new FECourse());
//    }

    //v3 构造传参实现
//    public static void main(String[] args) {
//        Cc cc = new Cc(new JavaCourse());
//        cc.studyCourse();
//    }
    //v4 增加设置方法
    public static void main(String[] args) {
        Cc cc = new Cc();
        cc.setICourse(new JavaCourse())
                .studyCourse();
        cc.setICourse(new FECourse())
                .studyCourse();
    }
}
上一篇下一篇

猜你喜欢

热点阅读