c# - 接口(interface)实现及常用功能

标签 c# java oop interface abstract-class

我有以下要求,

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

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

最佳答案

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

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

或者只是

         Abstract
          class
            ^
           / \
   Concrete   Concrete 
   class 1    class 2

想要使用这些类的代码只需使用接口(interface)或抽象类。如何配置要使用的具体类将取决于您的具体要求 - 但想必您已经在早期版本中解决了这个问题。

关于c# - 接口(interface)实现及常用功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20279843/

相关文章:

java - Android - 如何为 ListView 中的每个项目创建一个 Activity 并将 Java 对象传递到下一个屏幕

java - 从html中获取原始文本

Python 类共享变量给出了意外的输出

c# - 在 ASP.NET MVC 中,如何使用 Html.ActionLink 生成重复名称 ('?v=1&v=2&v=3' ) 查询字符串

c# - @onkeypress 没有获取文本输入框的更新值?

c# - 生成pdf而不将其保存到磁盘然后将其显示给浏览器

c# - 自动实现的属性是否有隐含的集合?

Java Saxon 解析

oop - 事件溯源中的值对象

java - OOP 设计 - 私有(private)修饰符