设计接口时,需要多花时间思考,考虑业务模式,预判之后可能出现变更或者新的需求
所以,对于业务模型的理解是非常重要的
以动物行为进行抽象描述
public interface IAnimal {
void swim();
void run();
void fly();
}
鸟类
public class Bird implements IAnimal {
@Override
public void swim() { }
@Override
public void run() { }
@Override
public void fly() { }
}
狗类
public class Dog implements IAnimal {
@Override
public void swim() { }
@Override
public void run() { }
@Override
public void fly() { }
}
很显然,鸟肯定是不能 “游” 的,swim方法只能空着, 狗的fly方法也是不能实现的.
针对不同动物行为设计不同的接口
飞翔接口
public interface IFlyAnimal {
void fly();
}
奔跑接口
public interface IRunAnimal {
void run();
}
游泳接口
public interface ISwimAnimal {
void swim();
}
狗只用实现游泳和奔跑接口
public class Dog implements IRunAnimal, ISwimAnimal {
@Override
public void run() { }
@Override
public void swim() { }
}
因篇幅问题不能全部显示,请点此查看更多更全内容