请问抽象类和接口的区别

just4zzfer 2005-09-21 11:27:30
请问,抽象类和接口有什么样的区别,我得意思是说本质性的区别。
抽象类中的部分方法可以不实现,而接口则全部由派生类实现,但这并不能说明两者有什么本质性的区别啊?但是这样的话完全可以保留抽象类,而抛弃接口了。
那位给点说明,多谢了。本人面向对象的思想不是很成熟,所以请说的仔细一些。多谢多谢
...全文
276 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
5swords 2005-11-17
  • 打赏
  • 举报
回复
可以继续吗?

snowday365 2005-10-12
  • 打赏
  • 举报
回复
强啊,这个问题我也困惑好久啊,看了1楼的回答还不是很明白,不过还是有帮助
just4zzfer 2005-09-21
  • 打赏
  • 举报
回复
多谢回帖的所有人,我是一个初学者,感谢你们的细心帮助
shilei831115 2005-09-21
  • 打赏
  • 举报
回复
强烈学习之!
zhiang75 2005-09-21
  • 打赏
  • 举报
回复
本质性的区别,当然有了,,通过接口实现的CLASS,不必使用override来实现方法的
抽象类,需要,

在面向对象的的程序设计中接口的耦合程度比抽象类更低.
jamesfay 2005-09-21
  • 打赏
  • 举报
回复
楼上说得很清楚了
碼上道 2005-09-21
  • 打赏
  • 举报
回复
楼上的总结得好,建议楼主看一下C#技术内幕
zhangfmIT 2005-09-21
  • 打赏
  • 举报
回复
1.抽象类是一个不完全的类,需要进一步专业化.接口只是一个行为的规范或规定;
2.接口基本上不具备继承的任何具体特点,它仅仅承诺了能够调用的方法;
3.一个类一次可以实现若干个接口,但是只能扩展一个父类
4.接口可以用于支持回调,而继承并不具备这个特点.


如果预计要创建组件的多个版本,则创建抽象类。抽象类提供简单易行的方法来控制组件版本。通过更新基类,所有继承类都随更改自动更新。另一方面,接口一旦创建就不能更改。如果需要接口的新版本,必须创建一个全新的接口。
如果创建的功能将在大范围的全异对象间使用,则使用接口。抽象类应主要用于关系密切的对象,而接口最适合为不相关的类提供通用功能。
如果要设计小而简练的功能块,则使用接口。如果要设计大的功能单元,则使用抽象类。
如果要在组件的所有实现间提供通用的已实现功能,则使用抽象类。抽象类允许部分实现类,而接口不包含任何成员的实现。

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧