【问题标题】:Real example where we have to use interface ... not abstract class... write some code [closed]我们必须使用接口的真实示例......而不是抽象类......编写一些代码[关闭]
【发布时间】:2012-03-13 14:13:58
【问题描述】:

在我的采访中,我被要求提供一些实时场景,您可以在其中实现接口..也可以编写一些代码。
他们想问我们有抽象方法那我们为什么需要接口……写一些代码。

提前致谢

【问题讨论】:

  • 你必须先自己搜索并编写一些代码,然后询问你遇到的具体问题或更多解释,没有人会为你编写此代码。
  • 这里的信息会对你有所帮助。解释得真好。 stackoverflow.com/questions/761194/….
  • @JonSkeet - 我正在深入研究 c#,对于错过版本 1-2 的人来说,这真是一本好书。
  • @Induster:很高兴你喜欢它:)

标签: c# asp.net .net oop abstract-class


【解决方案1】:

在 MSDN 中阅读这个很棒的文档:

Recommendations for Abstract Classes vs. Interfaces

Abstract Class versus Interface 来自 Codeproject.com 以及示例代码。

希望对你有帮助!

【讨论】:

    【解决方案2】:

    正如MSDN 所示

    • 如果您希望创建组件的多个版本,请创建一个抽象类。抽象类提供了一种简单易行的方式来对组件进行版本控制。通过更新基类,所有继承类都会随着更改而自动更新。另一方面,接口一旦创建就不能更改。如果需要新版本的界面,您必须创建一个全新的界面。
    • 如果您正在创建的功能将适用于各种不同的对象,请使用接口。抽象类应主要用于密切相关的对象,而接口最适合为不相关的类提供通用功能。
    • 如果您要设计小而简洁的功能,请使用接口。如果您要设计大型功能单元,请使用抽象类。
    • 如果您想在组件的所有实现中提供通用的已实现功能,请使用抽象类。抽象类允许您部分实现您的类,而接口不包含任何成员的实现。

    【讨论】:

    • “接口...提供通用功能”——有点误导。
    【解决方案3】:

    因为您可以实现任意数量的接口。对于一个抽象类,你只能从一个继承。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-03-14
      • 1970-01-01
      • 1970-01-01
      • 2012-04-11
      • 1970-01-01
      • 2021-12-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多