110,538
社区成员
发帖
与我相关
我的任务
分享
class BaseClass
{
public virtual BaseClass getCopy1() { return new BaseClass(); }
public virtual BaseClass getCopy2() { return new BaseClass(); }
}
class NewClass : BaseClass
{
public override BaseClass getCopy1() { return new NewClass(); }
public new NewClass getCopy2() { return new NewClass(); }
}
BaseClass b = new BaseClass();
Response.Write("b:" + b.GetType().Name + "<br/>");
var b_copy1 = b.getCopy1();
Response.Write("b_copy1:" + b_copy1.GetType().Name + "<br/>");
var b_copy2 = b.getCopy2();
Response.Write("b_copy2:" + b_copy2.GetType().Name + "<br/>");
var n = new NewClass();
Response.Write("n:" +n .GetType().Name + "<br/>");
var n_copy1 = n.getCopy1();
Response.Write("n_copy1:" +n_copy1 .GetType().Name + "<br/>");
var n_copy2 = n.getCopy2();
Response.Write("n_copy2:" + n_copy2.GetType().Name + "<br/>");
BaseClass nb = new NewClass();
Response.Write("nb:" + nb.GetType().Name + "<br/>");
var nb_copy1 = nb.getCopy1();
Response.Write("nb_copy1:" + nb_copy1.GetType().Name + "<br/>");
var nb_copy2 = nb.getCopy2();
Response.Write("nb_copy2:" + nb_copy2.GetType().Name + "<br/>");
结果:
b:BaseClass
b_copy1:BaseClass
b_copy2:BaseClass
n:NewClass
n_copy1:NewClass
n_copy2:NewClass
nb:NewClass
nb_copy1:NewClass
nb_copy2:BaseClass
不知你是否这个意思?