c#中父类能调用子类的方法吗

 我来答
百度网友ca68003
推荐于2017-11-22 · TA获得超过250个赞
知道小有建树答主
回答量:67
采纳率:0%
帮助的人:69.1万
展开全部
我不太明白LZ问题的意思,"父类"是父类的引用还是实例?
在这个例子下:
class Father{}
class Child : Father
{
public void Method(){}
}
如果是实例,比如
Father fa=new Father();
那fa是不可以调用子类方法,逻辑上很容易得出结论,子类的方法可能调用到父类没有的成员,显然不可以调用.

如果是只引用,而且所指实例是子类
Father ch=new Child();
那么如下方法就可以调用子类方法了
(ch as Child).Method();
这种情况下,如果ch不是Child的实例,那会抛出异常(貌似是抛异常,LZ自己实践一下吧)。这是多态的一种基本实现方法。
qqliweng
2009-12-27 · 超过22用户采纳过TA的回答
知道答主
回答量:106
采纳率:0%
帮助的人:59.2万
展开全部
首先强调一点可以调仅仅可以调,不过如果这样做的话就成了普通类之间的调用了。这种方法不可取,失去了is-a关系的意义!应为就继承来说父类是优先于子类而存在的!上面说了可以通过类的实例来掉用。不过就父类于子类这种关系来说是不允许父类调用子类的。

参考资料: extends

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
genie2014
2009-12-27 · TA获得超过6488个赞
知道小有建树答主
回答量:1140
采纳率:0%
帮助的人:914万
展开全部
不可以,就是说,现有爸爸,再有儿子,儿子可以继承父亲的,但是父亲绝对不能继承儿子的。道理很简单
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
做好行胜于言
2009-12-28 · 超过37用户采纳过TA的回答
知道小有建树答主
回答量:201
采纳率:50%
帮助的人:79.1万
展开全部
可以.实例化一下子类就像调用其他类一样.可以调用.我刚写了个示例证实了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
坏天气Dash
2009-12-27 · TA获得超过237个赞
知道小有建树答主
回答量:166
采纳率:0%
帮助的人:0
展开全部
其实也不一定啊,父类可以通过实例调用子类继承的父类的相应方法啊。
举例(都是public):
class father
{
father refer;
string WriteSomething()
{
return refer.WriteSomething();
}
}

class son:father
{
overrides string WriteSomething(){ return "inherted"; }
}

然后执行这段代码:
father f = new father();
son s = new son();
f.refer = s;
Console.WriteLine(f.WriteSomething());
之后屏幕上就会显示"inherted"这段字符了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(7)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式