以下是範例,就和很多教科書一樣,只寫怎麼使用,感受不出它的威力。
public abstract class abstractPerson { protected String Name; protected boolean Sex; protected String Email; protected String Offer; } public class Engineer extends abstractPerson { private LinkedList Skills; public Engineer(){ Name = ""; Sex = true; Email = ""; Offer = ""; Skills = new LinkedList(); } }
上面那個例子,我設計"人"的抽象類別,然後讓"工程師"來繼承它,若我還有"行政作業員"或"財會小姐"之類的類別,也同樣可以透過這樣的方式繼承"人"。
其它例子....像是"財產"可以做成抽象類別,而"土地財產"、"建物財產"、"運輸設備"這些類別就可以繼承"財產";
或是"棋子"可以做成抽象類別,"國王"、"皇后"、"主教"....各別做成繼承"棋子"的實體類別。
還有另一種思考的方向是.....抽象類別可以視為繼承它的實體類別的大種類,用白話文來說,可以講成"是一種 (is a kind of)"。像前面財產的例子,就可以翻譯成土地財產是一種財產、運輸設備也是一種財產…等。用這種方式來思考,是比較容易將抽象類別應用在系統設計上。
沒有留言:
張貼留言