相关疑难解决方法(0)

145
推荐指数
9
解决办法
10万
查看次数

为什么Java或C#中不允许多重继承?

我知道Java和C#中不允许多重继承.很多书只是说,不允许多重继承.但它可以通过使用接口来实现.没有讨论为什么不允许它.任何人都可以告诉我为什么不允许它?

c# java language-design multiple-inheritance

108
推荐指数
9
解决办法
7万
查看次数

Java中多重继承的替代方案

我创建了两个bean

class BackPageBean{
   String backPage = null;
  :
  :
  :
}


class InformationMessageBean{
   String informationMessage = null;
  :
  :
  :
}
Run Code Online (Sandbox Code Playgroud)

现在,如果一个类是反向识别的,那么它将扩展backPageBean,或者如果它需要显示某种消息,那么它会扩展InformationMessageBean.

class BackPageAware extends backPageBean{
}

class InfoMessAware extends InformationMessageBean{
}



    someFunction () {
       if ( theObject instanceOf backPageBean ) {
              prepareTheBackPage ( theObject.getBackPage() );
       }

       if ( theObject instanceOf InformationMessageBean ) {
              showtheInformation ( theObject.getMessage() );
       }

   }
Run Code Online (Sandbox Code Playgroud)

现在问题是,如果我想要一个既是BackPageAware又是InformationAware的bean,因为我们没有多重继承,那么应该采用什么方法呢?

java multiple-inheritance

9
推荐指数
3
解决办法
9517
查看次数

java中的多重继承

Java不允许从多个类继承(仍允许从多个接口继承.),我知道它非常符合经典的钻石问题.但是我的问题是,当从多个基类继承时没有歧义(因此没有钻石问题的可能性)时,java不允许像C++这样的多重继承?

java oop multiple-inheritance diamond-problem

8
推荐指数
2
解决办法
5191
查看次数

8
推荐指数
1
解决办法
2万
查看次数