编写代码,定义一个基类MyClass,其中包含虚拟方法GetString()。这个方法应返回有储在受保护字段myString中的字符串,该字段可以通过只写公共属性ContainedString 来访问。public abstract class MyClass
{
private string myString;
public string ContainedString
{          return myString; }
public abstract string GetString()
{
return myString;
}
}
这是C#入门经典后面的习题,我这样写对吗?

解决方案 »

  1.   


    public class MyClass
    {
      protected string myString;// 保护的
      public string ContainedString
      {
        return myString;
      }
      public virtual string GetString()//虚拟的, 不是抽象的
      {
        return myString;
      }
    }
      

  2.   

    public class MyClass
    {
        protected string myString;
        public string ContainedString
        {
            get {
                 return myString;
            }
        }
        public virtual string GetString()
        {
            return myString;
        }
    }
      

  3.   

    public string ContainedString
    {
      set
      {
        myString=value;
      }
    }
    这才叫只写公共属性...
      

  4.   

    public void ContainedString
    {
      set
      {
        myString=value;
      }
    }
    只写属性还要返回,有用吗?
      

  5.   


    lz的代码中有几处错误,呵呵,请参考一下代码public abstract class MyClass
    {
        private string myString;
        public string ContainedString
        {
           set
           {
              myString=value;
           }
           //lz可以查询下属性编写的规范,只读属性只有get子句,只写属性只有set子句
        }    public virtual string GetString()//abstract为抽象方法,virtual才是虚方法
        {
            return myString;
        }
    }