接口隔离原则
客户端不应该被迫依赖与他不使用的方法;一个类对另一个类的依赖应该建立在最小的接口上。
当一个接口含有多个方法时,子实现类可能只需要其中的一个或几个方法,剩下的并不需要。例如普通安全门防水防火防盗,电子安全门防火防盗不防水,防水这一方法在子实现类电子安全门内是无用的。所以我们遵循接口隔离原则,定义多个接口,一般一个接口对应一个方法。例如防水防火防盗,我们可以定义为三个接口,各品牌安全门,按照需求实现接口。
以下为安全门案例,首先定义三个接口
//防盗
public interface AntiTheft {void antiTheft();
}
//防火
public interface Fireproof {void fireproof();
}
//防水
public interface Waterproof {void waterproof();
}
各品牌按照需求,各自实现需要的接口
//Hir安全门
public class Hir implements AntiTheft,Fireproof,Waterproof{@Overridepublic void antiTheft() {System.out.println("优秀防盗");}@Overridepublic void fireproof() {System.out.println("优秀防火");}@Overridepublic void waterproof() {System.out.println("优秀防水");}
}//Mi安全门
public class Mi implements AntiTheft,Fireproof{@Overridepublic void antiTheft() {System.out.println("超强防盗");}@Overridepublic void fireproof() {System.out.println("超强防火");}
}
创建具体对象,调用功能
public class Client {public static void main(String[] args) {Hir hir = new Hir();//创建Hir安全门对象//调用功能hir.antiTheft();hir.fireproof();hir.waterproof();System.out.println("========");Mi mi = new Mi();//创建Mi安全门//调用Mi安全门内功能mi.antiTheft();mi.fireproof();}
}