第6章 OOP的高级技术.pptVIP

  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文档。上传文档
查看更多
第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 {

文档评论(0)

***** + 关注
实名认证
文档贡献者

本账号下所有文档分享可拿50%收益 欢迎分享

1亿VIP精品文档

相关文档