abstract, interface
最近開發IBM新企網,於網路上找到了很棒的一篇文章
http://www.ibm.com/developerworks/cn/java/l-javainterface-abstract/
其中範例用alarmDoor來解析,並簡單的以Object 的"本質"來區分應該如何選擇使用abstract or interface
因為alarmDoor本質上還是door,所以extends Door,再加入alarm的行為(interface Alarm)
abstract class Door {
abstract void open();
abstract void close();
}
//interface只能有static final成員(通常不定義成員),且方法只能是abstract
interface Alarm {
void alarm();
}
class AlarmDoor extends Door implements Alarm {
void open() { … };
void close() { … };
void alarm() { … };
}
淺顯易懂呀!!!!