首页 新闻 搜索 专区 学院

继承问题

0
悬赏园豆:10 [已解决问题] 解决于 2008-05-12 14:36
现在有类fa<br>public&nbsp; class&nbsp; fa<br>{<br>&nbsp;private&nbsp; string&nbsp; a;<br>&nbsp;b()//方法<br>&nbsp;&nbsp; {<br>&nbsp;&nbsp; }<br>}<br><br>public class son:fa<br>{<br>&nbsp; private&nbsp; string&nbsp; A;<br>&nbsp; B()//方法<br>&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp; }<br>}<br>当实例化的时候用&nbsp; fa&nbsp; sub=new son();<br>这个时候&nbsp; 他的堆中的内容是放的是son对象,<br>但是这个sub类型是fa,此时sub能调用son中的 B方法吗? <br>感觉好怪!有种说不出味道<br><br>还有个问题是:<br>人类&nbsp;&nbsp;&nbsp; 老师&nbsp; 这2个类,老师类继承与人类<br>老师&nbsp;&nbsp; ls=new&nbsp; 老师();这个时候说ls是个老师【换个说法是ls是个老师实例】(这样来描述new不知道有没问题)<br>老师&nbsp;&nbsp; ls=new&nbsp; 人类();这个时候是不是 ls是个人;<br><br>请帮助解释下&nbsp; 谢谢<br><br><br><br>
mythzz的主页 mythzz | 初学一级 | 园豆:2
提问于:2008-05-12 10:11
< >
分享
最佳答案
0
Father f = new Son(); 读作: f这个家伙指的是儿子中属于父亲的那一部分.
deerchao | 大侠五级 |园豆:8167 | 2008-05-12 13:28
其他回答(2)
0
1.可以能调用son中的 B方法。 2.老师 ls=new 老师();没问题 老师 ls=new 人类(); 错误的 3.楼主的类写的不知道你要干什么的样子,你可以运行下你的程序作实际的测试,看看具体的结果。建议楼主baidu下面向对象中继承,多态的相关知识。 4.使用基类实际上都可能是在使用已强制转换为基类类型的派生类对象,所以这句fa sub = new son(); 就是这样的,如果你的基类fa中有虚方法,那么你在不同的派生类重写,然后你在使用sub调用的时候就是调用的派生类的方法,这个就是多态啊。反过来当然就不对了
生鱼片 | 园豆:5757 (大侠五级) | 2008-05-12 10:17
0
可以调用,但需要转型吧 fa sub = new son(); 此时输入fs.后只会显示b方法,需要将此转型为son后才会有B方法 ((son)sub).B();就可以了
Gray Zhang | 园豆:17610 (专家六级) | 2008-05-12 11:16
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册