本帖最后由 zyouhua83 于 2010-10-11 22:04:38 编辑

解决方案 »

  1.   

    不错的题目。
    1.abstract类中必须都同时包含get和set
    2.Sub既然要实现Interface,那你就需要按照Interface的提供set和get,缺少了不行。
      

  2.   

    怎么在接口里面写成员变量?
    最好把接口里面的成员变量放在abstract类里,接口放函数。
      

  3.   

    public static void Test()
    {
        Sub f = new Sub();
        (f as Interface).m_tText = "a";
        //(f as Class).m_tText = "b";
        //f.m_tText = "c";
        Console.WriteLine((f as Class).m_tText);
        Console.WriteLine((f as Interface).m_tText);
        Console.WriteLine(f.m_tText);
    }
    public interface Interface
    {
        string m_tText
        {
            get;
            set;
        }
    }public abstract class Class
    {
        public virtual string m_tText
        {
            get;
            set;
        }
    }
    public class Sub : Class, Interface
    {
        private string value;
        public override string m_tText
        {
            get { return value; }
            set { this.value = value; }
        }
    }想想,以上注释掉的2行和没注释的,都是什么效果。
      

  4.   


        public interface Interface
        {
            string m_tText
            {
                get;
                set;
            }
        }
        public abstract class Class
        {
            public abstract string m_tText
            {
                get;
            }
        }
        public class Sub : Class, Interface
        {
            public override string m_tText
            {
                get { }
                set { }
            }
        }
    这里的Class可不可以不要set,