【问题标题】:share code, Interfaces vs Class共享代码,接口与类
【发布时间】:2018-03-21 13:34:27
【问题描述】:

我必须与另一个团队分享一些 webApi 请求和响应。 我创建了一个包含所有接口的 .Net Core 2.0 项目。

他们要求我有真正的类而不是接口,对吗?我愿意分享接口而不是类

【问题讨论】:

  • 真正的类是指他们要求抽象基类还是要针对具体实现进行编码?对于前者,请参阅stackoverflow.com/questions/761194/…。后者在原则上听起来是个坏主意。
  • 当你说你想分享你的意思是他们会使用你的 API 还是你的意思是他们正在写非常相似的东西所以希望你分享你的代码作为起点?
  • 你能澄清一下吗?这个团队在你们公司吗?如果他们这样做,您可能想给他们他们要求的代码。如果没有,只需提供一些有关接口如何工作的完整文档

标签: c# class interface abstract


【解决方案1】:

什么是接口?

接口或协议有时被称为是一种设备,用于通过实现商定的行为系统来允许不相关的对象相互交互。当一个类实现一个接口时,该类同意实现接口中定义的所有方法。接口很有用,因为它们在不强制类关系的情况下捕获不相关对象之间的相似性。此外,接口可以由抽象方法或整个抽象类组成。一个类通过使用“implements”关键字来使用接口,示例可能如下所示:

Java 中的类与 C++ 类几乎相同,因为它们定义了一个抽象数据类型,具有其特定的字段和方法。每个对象都是一个类的实例,并且遵循定义了某种类型的所有对象共有的变量和方法的类原型。与 C++ 不同,类的每个实例都必须在声明后实例化。这通常使用关键字“new”来完成。

什么是类?

类可能继承自其他类,就像在 C++ 中一样,这意味着它们继承了父类的所有属性。这通常使用关键字“扩展”来完成。例如,一个从另一个类继承的简单子类声明可能如下所示:

类窗口扩展框架{}

新类是包含框架所有属性的窗口。请注意,子类不仅限于它们继承的属性,它们可以添加自己的变量和方法,甚至还可以覆盖继承的方法。每个类都必须有自己的头文件,该头文件包含在代码开头并带有“导入”。类为 Java 提供了模块化,因为可以将多个对象创建为同一个类的实例。

选择接口

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-31
    • 1970-01-01
    • 2019-01-26
    • 2018-05-26
    • 2017-07-11
    • 2015-10-06
    • 2011-01-09
    • 1970-01-01
    相关资源
    最近更新 更多