我如何选择抽象类或接口..? [复制]

Posted

技术标签:

【中文标题】我如何选择抽象类或接口..? [复制]【英文标题】:How can i choose Abstract class or Interface..? [duplicate] 【发布时间】:2011-03-28 13:01:38 【问题描述】:

可能的重复:Interface vs Base classAbstract classes vs Interfaces

我们如何决定何时必须使用接口以及何时使用抽象类..??

任何想法..??

提前致谢!

【问题讨论】:

这个也可能重复:***.com/questions/761194/… 【参考方案1】:

我的经验法则是:有共享代码时使用抽象类,否则使用接口。

【讨论】:

【参考方案2】:

如果您计划对部分方法和属性进行相同的实现,则使用抽象类,如果您只想在所有类中保存相同的成员,但对所有类使用不同的实现,则使用接口。

换句话说,如果您的某些派生类方法在每个派生类中应该完全相同,则使用接口,否则使用接口。

【讨论】:

【参考方案3】:

您想提供方法的共享实现吗?

使用抽象类。

您是否只是想提供一个合同来指定对象必须提供哪些外部功能?

使用接口。

【讨论】:

【参考方案4】:

在CodeProject 上查看这篇有趣的文章,它将帮助您了解接口和抽象类之间的区别。

【讨论】:

好像代码被删除了。该代码有实时版本吗?

以上是关于我如何选择抽象类或接口..? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

接口和抽象类如何进行选择使用

您如何决定使用抽象类和接口? [复制]

如何使用 jQuery 更改标签值,而不按类或 ID 选择?

设计模式学习笔记(十六:桥接模式)

intellij idea 如何查看一个类或接口的子类关系图

如何找到持有类或 id 的属性?