C# 重写后,调用父类的函数

c#重写后,怎么调用父类函数悬赏分:0-离问题结束还有14天23小时也就是说classA中有一个函数FUNA()我写了一代码处理后来我有定义了classBclassC都是... c# 重写后,怎么调用父类函数
悬赏分:0 - 离问题结束还有 14 天 23 小时
也就是说 classA 中有一个函数FUNA()我写了一代码处理
后来我有定义了classB classC都是继承classA
我分别对classB classC重写FUNA(),也就是要添加代码且不相同的
现在在实例化classB classC后,调用FUNA(),比如 实例化
classB B=new classB ()classC C=new classC ()
对两个实例A和B,调用FUNA(),我classA中FUNA()写的代码都想执行啊
怎么写
展开
 我来答
天蝎神经侠侣
高粉答主

2015-07-04 · 关注我不会让你失望
知道大有可为答主
回答量:7533
采纳率:67%
帮助的人:729万
展开全部
例如:
class B:A
{
....
public override void FUNA()
{
base.FUNA();
....
下面这里就是你重写的代码了。
}
}

PHP是弱语言..再加上学习的是JAVA...所以有些OOP的思想比较难实现

比如 覆盖和隐藏... JAVA中所有的方法都是虚方法...派生类在继承的时候...如果对方法重写,就实现了覆盖...我对JAVA不了解..所以不太清楚JAVA是否能实现隐藏~如果实现隐藏..情况就不一样了~~

我用C#做个例子

-- 情况1 : 方法的覆盖

class FatherObject
{
public virtual void Test() // 虚方法
{
Console.Write("Father Test()");
}

public void Test1()
{
this.Test();
}
}

class SonObject : FatherObject
{
public override void Test() // 实现覆盖..这个是JAVA的默认的动作~
{
Console.Write("Son Test()");
}
}

SonObject Obj = new SonObject();
Obj.Test1(); // 得到结果 Son Test()

-- 情况2 : 方法的隐藏

class FatherObject
{
public void Test() // 无所谓是不是虚方法
{
Console.Write("Father Test()");
}

public void Test1()
{
this.Test();
}
}

class SonObject : FatherObject
{
public new void Test() // 对父类方法隐藏
{
Console.Write("Son Test()");
}
}
zhaowei5204
2010-03-30
知道答主
回答量:15
采纳率:0%
帮助的人:0
展开全部
你可以在重写classB和classC类的FUNA()方法的时候直接调用基类的方法呀
例如:
class B:A
{
....
public override void FUNA()
{
base.FUNA();
....
下面这里就是你重写的代码了。
}
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
s1597532486
2010-03-22 · TA获得超过248个赞
知道答主
回答量:245
采纳率:0%
帮助的人:158万
展开全部
你可以在你重写的代码中加上一句base.FUNA();
这样就可以在子类中既执行你重写的代码,也执行父类的代码了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
霍巍边韶丽
2020-07-14 · TA获得超过3820个赞
知道大有可为答主
回答量:3210
采纳率:28%
帮助的人:227万
展开全部
using
System;
class
A
{
public
virtual
void
F()
{
Console.WriteLine("A.F");
}
}
class
B:
A
{
public
override
void
F()
{
base.F();
Console.WriteLine("B.F");
}
}
class
Test
{
static
void
Main()
{
B
b
=
new
B();
b.F();
A
a
=
b;
a.F();
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lyf826611
2010-03-22
知道答主
回答量:23
采纳率:0%
帮助的人:13.2万
展开全部
classA A=new classA();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式