首页 新闻 赞助 找找看

类重写需要子类的方法和基类方法签名一样吗?

0
悬赏园豆:20 [已关闭问题]
<P>定义一个基类Student,它有个虚方法如下:</P> <P>public virtual string getFriends()<BR>&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return "我们是朋友";</P> <P>&nbsp;&nbsp;&nbsp; }</P> <P>定义一个子类GoodStudent类,它的方法重写了基类中的getFriends()方法,如下:</P> <P>public override string getFriends(string name)<BR>&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return "我和" + name + "是恋人";<BR>&nbsp;&nbsp;&nbsp; }</P> <P>调用如下:</P> <P>GoodStudent xiaoMin = new GoodStudent();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Label1.Text = xiaoMin.getFriends("haha");</P> <P>运行出现以下错误:<STRONG>编译器错误信息: </STRONG><FONT face=Arial>CS0115: “GoodStudent.getFriends(string)”: 没有找到适合的方法来重写</FONT></P> <P><FONT face=Arial></FONT>&nbsp;</P> <P>&nbsp;</P>
爱上编程的主页 爱上编程 | 初学一级 | 园豆:55
提问于:2008-07-26 19:48
< >
分享
其他回答(4)
0
是的,重写需要类名,与参数都要一样,否则不能重写.
侯垒 | 园豆:3435 (老鸟四级) | 2008-07-26 20:02
0
覆写的三个基本条件是: 1.相同的方法名 2.相同的参数列表 3.相同的返回值类型
TerryLee | 园豆:3300 (老鸟四级) | 2008-07-26 22:43
0
Jared.Nie | 园豆:1940 (小虾三级) | 2008-07-27 08:10
0
李老师说得很精 覆写的三个基本条件是: 1.相同的方法名 2.相同的参数列表 3.相同的返回值类型 ==============Student==================== public virtual string getFriends(string name) { return "我和"+ name +"是朋友!"; } ==============GoodStudent========================= public override string getFriends(string name) { return "我和" + name + "是恋人"; } 用代码就是上面这样实现.
Bēniaǒ | 园豆:692 (小虾三级) | 2008-07-27 21:09
0
getFriends和getFriends(string name)参数不一样,被认为是两个不同的方法,即重载
麒麟.NET | 园豆:3614 (老鸟四级) | 2008-07-28 01:12
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册