Java程序设计的基本原则2
★ 开闭原则
简单点说就是对新增开放,对修改关闭。而且应尽量做到不用修改模块的源代码,就能更改模块的行为。
这个在1中已近解释了。
★ 依赖性倒置原则
这个原则就是依赖抽象而不要依赖具体实现。
package cn.hncu.patterns.exercise.interfaceExercise;
public class Test11 {
public void t1() {
Test12 t = new Test12();
t.t2();
}
}
class Test12 {
public void t2() {
Test11 t = new Test11();
//t.t1();
//t.t3();// Test11中没有t3()函数,但是这个死循环就不会执行。
}
}
★ 接口隔离原则
这个原则就是不要使用通用的接口,而是为不同的用户使用不同的接口。
代码解释:
package cn.hncu.patterns.exercise.interfaceExercise;
import cn.hncu.patterns.exercise.interfaceExercise.inter.A;
import cn.hncu.patterns.exercise.interfaceExercise.inter.B;
import cn.hncu.patterns.exercise.interfaceExercise.inter.C;
/*
* 要求输出:
* 1)aaaaaa
* 2)bbbbbbb
* 3)cccc
* 因为这三个输出在不同的函数,我们可以用下列方法实现
* 方法一:实现所有的接口,---这个可以
* 方法二:写一个新的接口,定义所有的方法----不建议
*/
public class Test22 implements A, B, C {
@Override
public void t3() {
System.out.println("ccccccccccc");
}
@Override
public void t2() {
System.out.println("bbbbbbbbbbb");
}
@Override
public void t1() {
System.out.println("aaaaaaaa");
}
/*
* 不建议使用
*/
public void t4() {
D d = new DD();
d.t1();
d.t2();
d.t3();
}
}
class DD implements D {
@Override
public void t1() {
System.out.println("aaaaaaaa");
}
@Override
public void t2() {
System.out.println("bbbbbbbbbbb");
}
@Override
public void t3() {
System.out.println("ccccccccccc");
}
}
interface D {
public void t1();
public void t2();
public void t3();
}
部分代码:点击打开链接
★ 替换原则
这个原则就是子类应当可以替换父类并出现在父类能够出现的任何地方。
------知识点,子类继承父类,可以得到父类公共的成员。
这个要看情况,比如:子类覆盖父类的方法,那么在运行时就调用子类的方法了,
所有做项目时要谨慎使用。