社区
C#
帖子详情
C# 中类,抽象类和接口的区别,以及调用的方法
xiaoqiang6775
2010-10-30 08:40:46
高手指教,内容同标题一样
...全文
222
8
打赏
收藏
C# 中类,抽象类和接口的区别,以及调用的方法
高手指教,内容同标题一样
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
兔子-顾问
2010-10-31
打赏
举报
回复
这个主要是从设计角度来看。接口是描述行为约束,基类描述对象。
简单说,
接口可以描述为某个类,具有什么行为和属性,这时候就用接口。
某个类,是某个类,这时候就用基类继承。
比如
IClonable接口表示可以被复制,具有自我复制的能力。
Form,当你写类继承自Form时候,你会说我写的是一个窗体,继承自Form窗体基类。
freemangod
2010-10-31
打赏
举报
回复
准确说,C#是不支持多重继承的。c++等可以支持。至于区别,我认为1楼说得够详细了。我就不废话了。
xiaoqiang6775
2010-10-31
打赏
举报
回复
多谢!!!
zw_l_1989
2010-10-31
打赏
举报
回复
从开发角度出发
抽象类是由子类来决定是否需要专门写个父类而是用的思想
接口则是在开发时直接预先定义可能产生而使用
我也不清楚我表达了什么 简单的说就是
抽象类是由上而下的思想
接口反之
以专业开发人员为伍
2010-10-30
打赏
举报
回复
.net并不支持多重继承,因此假设你需要设计一个功能作为协作的规范,就不可能仅仅使用class,因为人家的实现类完全可能(不得不)从其它类继承。所以不支持多重继承的语言,注定了只能使用interface这种更低级的东西。
但是OOAD中不需要考虑这些,一律作为类来设计就可以了。当然,OOAD中应该只考虑必要的设计思路,不应该考虑“不支持多重继承”这种概念,而只是在考虑具体的工具语言如何来实现OOAD时才介绍一下interface而已。
xfxbnb
2010-10-30
打赏
举报
回复
use新手 学习一下的啊,
wuyq11
2010-10-30
打赏
举报
回复
接口支持多继承;抽象类不能实现多继承。
接口只能定义抽象规则;抽象类既可以定义规则,还可能提供已实现的成员。
接口是一组行为规范;抽象类是一个不完全的类,着重族的概念。
接口可以用于支持回调;抽象类不能实现回调,因为继承不支持。
接口只包含方法、属性、索引器、事件的签名,但不能定义字段和包含实现的方法;抽象类可以定义字段、属性、包含有实现的方法。
接口可以作用于值类型和引用类型;抽象类只能作用于引用类型
面向对象思想的一个最重要的原则就是:面向接口编程。
接口着重于CAN-DO关系类型,而抽象类则偏重于IS-A式的关系;
接口多定义对象的行为
如果预计要创建组件的多个版本,则创建抽象类
如果创建的功能将在大范围的全异对象间使用,则使用接口
C#
入门到精通加强版
好不容易才找到的,过来免费分享一下。真心详细,真心易懂
c#
100例
这个是
c#
实例,对初学
c#
的朋友们是很有用处的……
C#
API 大全
C#
API 大全
《21天学通
C#
》
21天学通
C#
课件,需要的同学可以下载一下,看看。希望对你们学
C#
有所帮助。
C#
案例(340经典实例)
C#
案例(340经典实例)
C#
111,120
社区成员
642,545
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章