- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第6章 OOP的高级技术 教学目标 本章将介绍OOP的高级技术,包括接口的定义与实现、委托与事件、集合与索引以及C# 中泛型的使用。这些都是面向对象编程的高级技巧,有了这些技术将使得面向对象编程变得更方便快捷。其中泛型是C# 2.0新增的功能,通过本章的学习,能加深对面向对象编程思想的理解 教学重点 接口的定义与实现 委托与事件 集合与索引 使用泛型 定义自己的泛型 接口的定义与实现 接口的定义 接口的实现 接口的定义 接口的定义 class Program:ImyInfc { public void f( ) { Console.WriteLine(this is interface); } static void Main(string[] args) { Program mcls = new Program(); ImyInfc Imy=mcls; Imy.f(); } } interface ImyInfc { void f( ); } 显式接口的实现(1) 可以显式地实现接口成员 。即使用接口名称和一个句点命名该类成员名来定义成员实现。例如: interface IControl { void Paint(); } interface ISurface { void Paint(); } public class SampleClass : IControl, ISurface { void IControl.Paint( ) { System.Console.WriteLine(IControl.Paint); } void ISurface.Paint( ) { System.Console.WriteLine(ISurface.Paint); } } 显式接口实现(2) 类成员 IControl.Paint 只能通过 IControl 接口使用,ISurface.Paint 只能通过 ISurface 使用。两个方法实现都是分离的,都不可以直接在类中使用。例如: SampleClass obj = new SampleClass(); //obj.Paint(); // Compiler error. IControl c = (IControl)obj; c.Paint(); // Calls IControl.Paint on SampleClass. ISurface s = (ISurface)obj; s.Paint(); // Calls ISurface.Paint on SampleClass. 接口实现(3) 显式实现还用于解决两个接口分别声明具有相同名称的不同成员(如属性和方法)的情况: interface ILeft { int P { get;} } interface IRight { int P(); } 为了同时实现两个接口,类必须对属性 P 和/或方法 P 使用显式实现以避免编译器错误。例如: class Middle : ILeft, IRight { public int P() { return 0; } int ILeft.P { get { return 0; } } } 接口实现(4) 实现接口的类必须包含该接口的所有成员的执行代码,且必须匹配指定的签名(包括匹配指定的get和set块),并且必须是公共的。 如果实现接口的类是基类,也可以使用virtual或abstract来执行接口成员,而在派生类中编写具体的执行代码。 接口实现(5) 如果接口中定义了属性,则实现接口的类必须实现get/set访问器。 如果接口中只包含了get访问块,类中可添加set访问块。相反也一样。但所添加的访问器访问限制比接口更加严格。 如: public interface Imyinterface { int MyintProperty { get; } } public class Myclass : Imyinterface { protected int Myint; public int MyintProperty {
您可能关注的文档
最近下载
- 1.4互联网应用的发展阶段及其特点(教学课件)-第1册信息科技同步教学(河北大学版2024新教材).pptx VIP
- 9.单位会计核算机制凭证(单位操作手册).pdf VIP
- 洗护用品采购售后服务方案.docx VIP
- 《烟草专卖行政处罚程序规定》培训与解读课件.pptx VIP
- 单位会计核算操作手册(2023).docx VIP
- 幼儿园大班课程主题活动.pdf VIP
- 2025广西公需科目考试答案(3套,涵盖95_试题)一区两地一园一通道建设;人工智能时代的机遇与挑战.pdf VIP
- 综合安防管理平台操作手册.docx VIP
- 《中国古典园林史》周维权第三版.pdf VIP
- 8.政府采购操作手册(初稿).pdf VIP
文档评论(0)