«interface»
Worker
+ work()
+ eat()
+ sleep()
HumanWorker
+ work()
+ eat()
+ sleep()
RobotWorker
+ work()
+ eat() ✗
+ sleep() ✗
The fat interface
1interface Worker {2 void work();3 void eat();4 void sleep();5}6class HumanWorker implements Worker { ... }7class RobotWorker implements Worker {8 public void work() { /* real */ }9 public void eat() { throw new UnsupportedOperationException(); }10 public void sleep() { throw new UnsupportedOperationException(); }11}
State
Workerwork + eat + sleep