现在有类fa<br>public class fa<br>{<br> private string a;<br> b()//方法<br> {<br> }<br>}<br><br>public class son:fa<br>{<br> private string A;<br> B()//方法<br> {<br> }<br>}<br>当实例化的时候用 fa sub=new son();<br>这个时候 他的堆中的内容是放的是son对象,<br>但是这个sub类型是fa,此时sub能调用son中的 B方法吗? <br>感觉好怪!有种说不出味道<br><br>还有个问题是:<br>人类 老师 这2个类,老师类继承与人类<br>老师 ls=new 老师();这个时候说ls是个老师【换个说法是ls是个老师实例】(这样来描述new不知道有没问题)<br>老师 ls=new 人类();这个时候是不是 ls是个人;<br><br>请帮助解释下 谢谢<br><br><br><br>
2 回答
千万里不及你
TA贡献1784条经验 获得超9个赞
1.可以能调用son中的 B方法。 2.老师 ls=new 老师();没问题 老师 ls=new 人类(); 错误的 3.楼主的类写的不知道你要干什么的样子,你可以运行下你的程序作实际的测试,看看具体的结果。建议楼主baidu下面向对象中继承,多态的相关知识。 4.使用基类实际上都可能是在使用已强制转换为基类类型的派生类对象,所以这句fa sub = new son(); 就是这样的,如果你的基类fa中有虚方法,那么你在不同的派生类重写,然后你在使用sub调用的时候就是调用的派生类的方法,这个就是多态啊。反过来当然就不对了
- 2 回答
- 0 关注
- 643 浏览
添加回答
举报
0/150
提交
取消