接口隔离原则
注意适度原则,一定要适度
优点:符合我们常说的高内聚低耦合的设计思想从而使得类具有很好的可读性,可扩展性和可维护性。
二、代码演示
1、首先写一个具有多个功能的接口
//动物特性的接口
public interface IAnimalAction {
void eat();//吃
void fly();//飞
void swim();//游泳
}
2、实现分析
//鸟实现类,分析一下鸟类是符合这三个特性的
public class Bird implements IAnimalAction {
@Override
public void eat() {
}
@Override
public void fly() {
}
@Override
public void swim() {
}
}
//狗类实现--那么很显然狗是不会飞的这就会造成高的耦合程度以及多余的实现函数
public class Dog implements IAnimalAction {
@Override
public void eat() {
}
@Override
public void fly() {
}
@Override
public void swim() {
}
}
3、避免上一现象我们将对接口进行拆分实现接口隔离原则,这里是不是想到与之前的接口单一原则类似呢。
3.1、拆分接口功能–拆分为单功能接口
//接口一
public interface IEatAnimalAction {
void eat();
}
//接口二
public interface IFlyAnimalAction {
void fly();
}
//接口三
public interface ISwimAnimalAction {
void swim();
}
3.2、三个单一功能接口,避免上面的dog实现方式,那么看一下现在的dog实现类
//dog有什么特征我实现什么功能
public class Dog implements ISwimAnimalAction,IEatAnimalAction {
@Override
public void eat() {
}
@Override
public void swim() {
}
}
避免接口出现多种类型的行为出现在一个接口中,宁愿定义多个实现接口来区分,分别是实现