繼承是因為行為發生變化
如果不是行為發生變化,就不值得繼承
善用適合的類別作為屬性
如果子類別只是較父類別多了一些屬性,而非行為發生變化,則可考慮使用Dictionay
舉例來說,下面的程式是不好的。
class Parent { public string Name; public void Fly(); } class Child1 : Parent { public string Color; public string AliasName; } class Child2 : Parent { public string BackColor; } class Child3 : Parent { public string BorderColor; }
原因是 Child1, Child2, Child3 在行為上根本不會發生變化。還是只有 Parent 的Fly。因此,只需要修改成下面的程式,就不需要子類別了。
class Parent { public string Name; public void Fly(); public DictionaryOtherProperties {get; set;} }
沒有留言:
張貼留言