ABSTRACT CLASS 與 INTERFACE 的差別
ABSTRACT CLASS | INTERFACE |
---|---|
abstruct Function 的存取修飾詞只能設為「public」 | Interface 的 Function 不能加任何存取修飾詞 |
可以有 CONSTRUCTOR 其使用方式與一般 CLASS 的 CONSTRUCTOR 相同 |
不可以有 CONSTRUCTOR |
可以有DESTRUCTOR | 不可以有DESTRUCTOR |
不可以繼承其他CLASS,但可以繼承 INTERFACE | 不可以繼承其他CLASS,但可以繼承 INTERFACE |
可以被其他CLASS繼承 若是被一般CLASS繼承,則需實作所有 abstract Function。 若是被 ABSTRACT CLASS 繼承,則不用實作全部 abstract Function。 |
可以被其他CLASS繼承,不論是被ABSTRACT CLASS繼承或是被一般CLASS繼承或是被INTERFACE繼承,都需全部實作Function |