[Ref]
來源:
- 建立一個abstract的Door類別,裡面有Open(開門)與Close(關門)這兩個虛擬方法可以用
- 建立一個HorizontalDoor類別,它繼承了原先的Door,所以它也有Open與Close這兩個方法可以用
- 建立一個VerticalDoor類別,它也繼承了Door,可是我在裡面override了原先的Open與Close,另外實作其方法
- 建立一個IAlarm介面,裡面定義了Alert這個方法
- 建立一個Alarm類別,它繼承了IAlarm,並在裡面實作Alert
- 建立一個AlarmDoor類別,它繼承了Door,同時在裡面使用了Alarm類別的Alert方法
- 建立一個AutoAlarmDoor類別,它繼承了AlarmDoor,並覆寫了原本的Open方法,裡面呼叫base.Open方法並接著呼叫Alert方法
- 建立一個DoorController類別,這個類別是用來控制管理所有的Door
- 完成 !!
- 執行結果
- 注意事項
- abstract method 不會有程式內容
- abstract method 繼承後,一定要 override
- virtual method 一定要有程式內容
- 宣告為 virtual 的 method,繼承後才可以進行 override
- 設定為 virtual 的 method,沒有一定要 override
沒有留言:
張貼留言