C#语言中的抽象类与接口的研究及应用.pdfVIP

C#语言中的抽象类与接口的研究及应用.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
维普资讯 2005年 第 5期 计 算 机 系 统 应 用 C#语言中的抽象类与接 口的研究及应用 ResearchandApplicationofAbstractClassandInterfaceinC撑Language 蓝雯飞 陈淑清 周 俊 (武汉 中南民族大学计算机科学学院 430074) 摘要:抽象类和接 口是c#-~/-g-中两个重要的对象引用类型,是C#程序设计使用多态性的基础。本文对两者进行 比较。并通过例子说明了抽象类和接 口的区别和使用场合。 关犍词:C#语言 类 抽象类 接 口 1 引言 继承别的类,但在 C#语言中类都隐式的继承 Object c#是Microsoft近年来推出的一个新的编程语言,像 类。具体类可以实现一个或多个接口,也可以不实现 Java一样,C#也是完全面向对象的。也就是说C#中的 任何接 口。 所以代码都封装在类中。c#也具有面向对象语言所共 具体类的成员可以包括 :常量、字段、方法、属性、 有的三个特点:继承、封装和多态,其中多态主要有抽象 索引函数、事件、运算符、构造函数、析构函数和嵌套的 类和接口来实现。抽象类和接口在功能上有许多相似 类型声明等。此外类可以继承,在c#中所有的类,不 之处,因此许多读者不知道如何区分什么时候该使用抽 管是抽象类还是具体类,只能单继承。也就是说 ,一个 象类,什么时候该使用接口。本文首先从二者的定义和 子类只能有一个父类,而不允许同时继承来自两个或 语法的层面对二者比较分析,接下来举了二个例子进一 两个以上不同父类的属性和方法。 步说明,最后结合二个例子从语义的层面来讨论二者的 2.2 抽象类 区别和适用的场合。目的是让读者在面临选择的时候, 在c#中,具体类用abstractclass关键字声明抽象 有规可循,设计出更加高效、灵活、健壮的c耀 序。 类。抽象类最显著的特点在与抽象类不能实例化,即 在编程时不能new出一个抽象类的对象。其他特点还 2 具体类、抽象类和接口 有:抽象类不能被密封。当具体类继承抽象类时,具体 类是对同类对象的共性加以抽象和封装。类是一 类必须覆盖抽象类的方法。抽象类中不一定包含抽象 种数据结构,具体类中包含数据成员、函数成员以及嵌 方法,但包含抽象方法的类一定要被声明为抽象类, 套类型。c#中的类分具体类 (非抽象类)和抽象类。 否则编译时将出错。 二者最大的区别就是具体类可以直接被实例化,而抽 抽象类在面向对象程序设计中的作用: 象类不允许直接被实例化。而接 口是接 口用户 (使用 (I)为一些相关的类接供了公共基类以便为下层 接口的程序)与接口的实现者 (实现接口的类)之间在 类功能相似但实现代码不同的那些方法对外提供统一 建立起一种约定,用户只需关心接口有哪些功能而不 的接口,使c#程序具有多态性; 必关心它们的实现,接 口的实现者即类必须按约定为 (2)为下层相关子类提供一些公用方法的实现代 接口中的各功能,其实就是为抽象方法提供实现代码。 码,以减少代码冗余; 下面,我们从具体类、抽象类和接口的定义和语法 (3)防止类被意外实例化,这对一些直接实例化 层面来分析三者的区别和联系。 没有意义的类,可以加上abstract关键字,这样可以增 2.1具体类 强代码的安全性。 在c#中,具体类用class关键字声明,是c#程序最 2.3接口 基本的单位。具体类可以别的类继承而来,也可以不

文档评论(0)

人生新旅程 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档