1 The course explains
2 Code Walkthrough
2.1 Non-oriented programming interface
2.2 parameter passing oriented programming interface 1
2.3 constructor oriented programming interface 2
2.4 Method 3 set oriented programming interface
1 The course explains
2 Code Walkthrough
2.1 Non-oriented programming interface
Disadvantages:
Test categories:
package com.geely.design.principle.dependencyinversion; public class Test { //v1.1 普通方法调取java类 public static void main(String[] args) { Geely geely = new Geely(); geely.studyJavaClass(); geely.studyPreClass(); } }
Entity classes:
package com.geely.design.principle.dependencyinversion; public class Geely { public void studyJavaClass(){ System.out.println("Geely Study Java Lesson"); } public void studyPreClass(){ System.out.println("Geely Study Pre Lesson"); } }
Print Results:
Geely Study Java Lesson
Geely Study Pre Lesson
Process finished with exit code 0
2.2 parameter passing oriented programming interface 1
Disadvantages:
Test categories:
package com.geely.design.principle.dependencyinversion; public class Test { //v1.1 普通方法调取java类 /*public static void main(String[] args) { Geely geely = new Geely(); geely.studyJavaClass(); geely.studyPreClass(); }*/ //v1.2 面向接口编程 传参 public static void main(String[] args) { Geely geely = new Geely(); geely.studyImoocClass(new JavaCourse()); geely.studyImoocClass(new PreCourse()); } }
Entity classes:
package com.geely.design.principle.dependencyinversion; public class Geely { public void studyJavaClass(){ System.out.println("Geely Study Java Lesson"); } public void studyPreClass(){ System.out.println("Geely Study Pre Lesson"); } public void studyImoocClass(Icourse icourse){ icourse.studyClass(); } }
Course Class 1:
package com.geely.design.principle.dependencyinversion; public class JavaCourse implements Icourse{ @Override public void studyClass() { System.out.println("Geely Study Java Lesson"); } }
Course categories:
package com.geely.design.principle.dependencyinversion; public class PreCourse implements Icourse{ @Override public void studyClass() { System.out.println("Geely Study Pre Lesson2"); } }
Course Interface:
package com.geely.design.principle.dependencyinversion; public interface Icourse { void studyClass(); }
Print log:
Geely Study Java Lesson
Geely Study Pre Lesson2
Process finished with exit code 0
2.3 constructor oriented programming interface 2
2.4 Method 3 set oriented programming interface