目的: 用父类调用子类的成员和成员函数
如下面是一些参考:
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"; //这就不行了,要怎么样才做访问并设置,取得值呢?
如下面是一些参考:
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"; //这就不行了,要怎么样才做访问并设置,取得值呢?
---------------------------------------------------
此处我已经有办法取得,方法如下:
((DeriveClass)bc).name = "nihao";但我看着不舒服,就是想换种方法,还有别的办法吗?
((DeriveClass)bc).name = "nihao";但我看着不舒服,就是想换种方法,还有别的办法吗?
改父类改子类都可以,该访问属性也可以,设set和get也可以,能换种不需要转换的就行,实在看这这样转换不舒服! ^-^
http://community.csdn.net/Expert/topic/5097/5097099.xml?temp=.7673303