2012-11-26 14 views
5

पर बल संपत्ति कार्यान्वयन मेरे पास Person.cs है जिसे Player.cs क्लास द्वारा कार्यान्वित किया जाएगा। व्यक्ति का अनुभव LevelType संपत्ति है।व्युत्पन्न कक्षाओं

मैं सभी व्युत्पन्न कक्षाओं को अपने अनुभव के अपने संस्करण के अनुभव को लागू करने के लिए मजबूर करना चाहता हूं।

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

public abstract Player:Person 
{ 
    public override ExperienceLevel Experience 
    { 

    } 
} 
+1

शायद आप इसे 'सार' घोषित कर सकते हैं? – LightStriker

उत्तर

22

क्या abstract के लिए है कि है को लागू:

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

यदि आप संपत्ति को लागू करने के लिए व्युत्पन्न कक्षाओं को मजबूर करना चाहते हैं, जबकि एक ही समय में उनकी मदद करने के लिए कुछ पुन: प्रयोज्य मचान प्रदान करते हैं, तो मचान कोके रूप में बेनकाब करेंPerson के अंदर सदस्य।

+0

महान। आप बाल वर्ग (प्लेयर) में अनुभव संपत्ति को कैसे ओवरराइड कर सकते हैं? – user1765862

+1

आपकी आभासी संपत्ति के समान ही। –

0

आप Person एक अंतरफलक कर सकता है (और यह कुछ भी नहीं impliment है) या आप Person कर सकते हैं एक कस्टम इंटरफ़ेस IPerson जो अपनी संपत्ति

संबंधित मुद्दे