繼承是因為行為發生變化
如果不是行為發生變化,就不值得繼承
善用適合的類別作為屬性
如果子類別只是較父類別多了一些屬性,而非行為發生變化,則可考慮使用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 Dictionary  OtherProperties {get; set;}
}
   
沒有留言:
張貼留言