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

<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>

慕标琳琳
浏览 567回答 2
2回答

炎炎设计

是的,重写需要类名,与参数都要一样,否则不能重写.

人到中年有点甜

覆写的三个基本条件是: 1.相同的方法名 2.相同的参数列表 3.相同的返回值类型
打开App,查看更多内容
随时随地看视频慕课网APP