類別繼承Inherit建議
類別階層就是抽象類別及實作類別所建構出來的Class Tree:
- 類別階層由上至下的定義應該是由廣義進入狹義;
例如:動物Animal --> 貓Cat、狗Dog…!
- 宣告型別時最好保留彈性;
例如:薪水,現在的薪水應該只有整數,但為了保險起見,使用浮點數型別也不無不可!
- 審慎設定成員的存取層級;
例如:姓名、郵件給所有類別存取,就設定Public,但薪資應該是要保密,就設定Private,獎金計算可能在不同部門的類別有不同的計算方式,可就設定為Protected。
繼承Inherit使用時機
- 衍生類別應該隸屬於父類別的一種,而不是有關聯;
- 當重複架構的程式碼不斷出現,使用繼承可以提高程式的重複使用性;
- 繼承建議在六層之內,以免程式太複雜;
介面Interface使用時機
- 如果兩個類別之間只存在著某些關係;
- 需要將宣告與實作分開;
使用Inherit,我們修改父類別的程式碼,可能導致衍生類別的程式碼錯誤;相反的,Interface在宣告成員沒有改變之下,我們可以任意改變各個成員的實作,而不會互相影響。
- 需要多重繼承時;
一個類別只能Inherit一個父類別,但一個類別可以繼承多個Interface。
- 特別情況;
例如:結構不能類承自類別,但可以實作介面。
沒有留言:
張貼留言
感謝您的留言,如果我的文章你喜歡或對你有幫助,按個「讚」或「分享」它,我會很高興的。