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

定义一个基类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)”: 没有找到适合的方法来重写

千巷猫影
浏览 404回答 2
2回答

倚天杖

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

杨__羊羊

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