目的: 用父类调用子类的成员和成员函数
如下面是一些参考:
Class BaseClass  //Class默认是什么访问类型的呢?public 还是 abstract?还是别的?
{
   //此处不知道该怎么写了
       public  virtual void Function()//一定要用public吗
        {
            Console.Write("base");
        }
}Class DeriveClass: BaseClass
{
   private string name;
   public override  void Function() //这里也一定要用public吗
        {
            Console.Write("derive");
        }}
----------------------------------------
其中访问成员函数是可以了,做法是在BaseClass类将方法声明为virtual ,在子类中重写函数
那对于成员(如name)怎么办呢?怎么修改才好
测试
BaseClass bc = new DeriveClass();
bc.Funciotn(); //没有问题,可以顺利执行子类的方法而不执行父类的方法
bc.name = "nihao"; //这就不行了,要怎么样才做访问并设置,取得值呢?

解决方案 »

  1.   

    to public virtual void Function()//一定要用public吗不一定,可以用protected
      

  2.   

    愚翁老大来指教,不胜感激!bc.name = "nihao"; //这就不行了,要怎么样才做访问并设置,取得值呢?
    ---------------------------------------------------
    此处我已经有办法取得,方法如下:
    ((DeriveClass)bc).name = "nihao";但我看着不舒服,就是想换种方法,还有别的办法吗?
      

  3.   

    此处我已经有办法取得,方法如下:
    ((DeriveClass)bc).name = "nihao";但我看着不舒服,就是想换种方法,还有别的办法吗?
    改父类改子类都可以,该访问属性也可以,设set和get也可以,能换种不需要转换的就行,实在看这这样转换不舒服! ^-^
      

  4.   

    在此顶贴的都可以到另一贴直接领分,那个问题太难了,估计没什么人能回答的,直接结帖好了http://community.csdn.net/Expert/topic/4991/4991203.xml?temp=.6166193这个是无聊贴,想接分的直接来拿,分完为止
    http://community.csdn.net/Expert/topic/5097/5097099.xml?temp=.7673303