我有以下要求,


将有2个(或更多)不同的类来执行相同类型的操作(以不同的方式)。因此,我决定创建一个接口。然后,用我的界面实现了这两个类。
现在,从另一个类中,我将使用接口类型的对象并调用函数。一切正常。
然后出现了一个新要求,即创建适用于两个类的通用功能。
我不想在两个类中定义相同的函数。和接口不允许功能定义。
首先,我认为抽象类会很有用。因为它允许函数定义和抽象函数。但是不能实例化抽象类,并且我还需要创建具有单独类类型的对象。


抱歉,我找不到定义问题的简单方法。感觉就像是spring框架提供的解决方案。但是我需要知道如何从Java / C#应用程序中实现这一点。

最佳答案

听起来您想要一个实现通用功能的抽象类,但是对于不同的功能仍然有两个具体的类。您可能也可能不想保留界面。因此,选项为:

        Interface
            ^
            |
         Abstract
          class
            ^
           / \
   Concrete   Concrete
   class 1    class 2


要不就

         Abstract
          class
            ^
           / \
   Concrete   Concrete
   class 1    class 2


想要使用这些类的代码仅使用接口或抽象类。如何配置要使用的具体类取决于您的确切要求-但是大概您已经在较早版本中解决了这一问题。

09-10 07:38
查看更多