C#中父类的虚方法可不可以被子类的子类重写?
比如:classA:B{......}classB:C{......}其中C可不可访问B类的成员?...
比如:
class A:B{... ...}
classB:C{... ...}
其中C可不可访问B类的成员? 展开
class A:B{... ...}
classB:C{... ...}
其中C可不可访问B类的成员? 展开
3个回答
展开全部
首先回答你的第一个问题,父类的虚方法是可以被子类的子类重写的。
第二个问题C不可以访问B类的成员。只有子类继承父类成员,不能父类继承子类成员。如果父类要访问子类成员,可以通过接口实现。
比如:interface Iperson{string PersonName{get;set;};}
Class B:C,IPerson{ public string PersonName{get;set;};}
Class C{ public void GetPersonName{if(this is Iperson){return (this as Iperson).PersonName;}}}
这样就只要子类继承了该接口,就可以在父类中访问子类成员了。
第二个问题C不可以访问B类的成员。只有子类继承父类成员,不能父类继承子类成员。如果父类要访问子类成员,可以通过接口实现。
比如:interface Iperson{string PersonName{get;set;};}
Class B:C,IPerson{ public string PersonName{get;set;};}
Class C{ public void GetPersonName{if(this is Iperson){return (this as Iperson).PersonName;}}}
这样就只要子类继承了该接口,就可以在父类中访问子类成员了。
展开全部
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
完全可以被子类重写,不过要用关键字override。如果A里有虚方法,B是继承A的,那么C也可以实现A里面的虚方法。C继承B当然可以访问B类里面的成员了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询