1. 程式人生 > >【轉】編寫高質量代碼改善C#程序的157個建議——建議90:不要為抽象類提供公開的構造方法

【轉】編寫高質量代碼改善C#程序的157個建議——建議90:不要為抽象類提供公開的構造方法

改善 公開 構造方法 編譯 只需要 高質量代碼 pub 默認 {}

建議90:不要為抽象類提供公開的構造方法

首先,抽象類可以有構造方法。即使沒有為抽象類指定構造方法,編譯器也會為我們生成一個默認的protected的構造方法。下面是一個標準的最簡單的抽象類:

    abstract class MyAbstractClass
    {
        protected MyAbstractClass(){}
    }

其次,抽象類的方法不應該是public或internal的。抽象類設計的本意是讓子類繼承,而不是用於生成實例對象的。如果抽象類是public或internal的,它對於其它類型來說就是可見的,而這時不必要的,也是多余的。換句話來說,抽象類只需要對子類可見就行了。

轉自:《編寫高質量代碼改善C#程序的157個建議》陸敏技

【轉】編寫高質量代碼改善C#程序的157個建議——建議90:不要為抽象類提供公開的構造方法