关于继承的问题
很多面向对象语言(例如Java)不能全部支持所有类型的继承方式,为什么?换句话说,若想全部支持这三种类型的继承,难在哪里? 问题点数:0、回复次数:4Top
1 楼muymuy(muy)回复于 2004-05-02 17:29:36 得分 0
不太明白你的意思。
“三种类型的继承”是指:单继承,多继承,虚拟继承?Top
2 楼sunzq13(陡金山)回复于 2004-05-02 17:32:37 得分 0
单继承当然没问题了
多继承可以用实现不同接口的方式实现啊。Top
3 楼dolphinxl(利奥)回复于 2004-05-03 09:40:59 得分 0
“三种类型的继承”是指:单继承,多继承,重复继承(也就是C++中的虚继承)Top
4 楼muymuy(muy)回复于 2004-05-04 18:06:06 得分 0
要支持这三种继承并不困难,只是java(c#也是)不愿支持,应该说是特意不支持多继承和虚继承。多继承容易使类的层次结构变得复杂,容易引起错误,一般很少用,如果你对多继承的细节不是很了解,最好不要用。虚继承实际上是多继承中的一种特例,同样也有多继承中的种种问题。
java和c#都是为了避免多继承带来的问题,特意设计成单根继承,这样做一方面便于使用,另一方面从语言层次上避免了一些问题。Top




