15

Person.csたとえば、Playerクラス によって実装されるものがあります。PersonプロパティがありExperienceLevelTypeます。

Personから派生したすべてのクラスに、独自のバージョンのExperienceLevelTypeプロパティを実装するように強制したいと思います。

public abstract Person
{
    public enum ExperienceLevel { Kid, Teenager}
    public virtual ExperienceLevel Experience {get; set;}
}

public abstract Player:Person
{
    public override ExperienceLevel Experience
    {

    }
}
4

3 に答える 3

36

それabstractが目的です:

public abstract class Person
{
    public enum ExperienceLevel { Kid, Teenager}
    public abstract ExperienceLevel Experience { get; set; }
}

派生クラスにプロパティ自体を実装するように強制すると同時に、それらを支援するために再利用可能なスキャフォールドを提供する場合は、スキャフォールドをprotected内部のメンバーとして公開しPersonます。

于 2012-11-26T19:28:19.613 に答える
0

あなたはPersonインターフェースを作ることができます(そしてそれは何も意味しません)またはあなたはあなたのプロパティを持つPersonカスタムインターフェースを実装することができますIPerson

于 2012-11-26T19:28:16.337 に答える
0

あなたがする必要があるのは、メソッドを抽象として宣言することだけです。それはサブクラスにそれを実装することを強制します。

于 2020-05-11T20:30:44.267 に答える