接口隔离原则是指客户端不应该依赖它不需要的接口,类之间的依赖关系应该建立在最小的接口上。就是建立单一的接口,不要定义臃肿庞大的接口,接口尽量细化,接口的职责尽量单一,接口中的方法尽量少。
接下来,通过对动物行为具体介绍接口隔离原则:
建立IAnimal接口,包含fly和swim方法,表示飞行和游泳
public interface IAnimal {
void fly();
void swim();
}
public class Fish implements IAnimal {
@Override
public void fly() {
}
@Override
public void swim() {
System.out.println("鱼能游泳");
}
}
public class Bird implements IAnimal {
@Override
public void fly() {
System.out.println("鸟能飞行");
}
@Override
public void swim() {
}
}
分别创建Fish类和Bird类,显然鱼不能飞,鸟不能游。所以,IAnimal接口是一个臃肿庞大的接口,其接口没有细化,所以我们要针对不同特点的动物分别定义IFlyAnimal接口和ISwimAnimal接口,并分别定义不同的行为方法。
接口隔离原则可以提高系统的灵活性,符合高内聚低耦合的思想。