第3章+C#面向对象编程-6(课件)-《算法与程序设计-C#》同步教学(清华大学版).pptx

第3章+C#面向对象编程-6(课件)-《算法与程序设计-C#》同步教学(清华大学版).pptx

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

C#程序设计第3章C#面向对象编程

2显式和隐式接口接口接口的应用★接口和抽象类的区别什么是接口重点接口的使用方法如何使用实现了某接口的对象如何继承多个接口接口与抽象类的比较嵌套类和分部类

3IComparable接口什么是接口接口的声明接口成员接口的实现一系列需要实现的功能的定义[接口修饰符]interface接口名[:基接口]{接口体;}intCompareTo(Objectobj);classStudent:IComparable//实现IComparable接口的CompareTo方法publicintCompareTo(Objectobj){}if(!(objisStudent){thrownewArgumentException(“参数必须为Student类的实例);}Studentst=(Student)obj;Students=objasStudent;if(s==null)//抛出异常return.CompareTo();return.CompareTo();

4IComparable接口is检查对象是否与指定类型兼容if(对象is类型)f=(类型)对象;判断对象是否是某种类型,返回true和falseas用于在兼容的引用类型之间执行转换类型f=对象as类型;if(f==null)Console.WriteLine(不是有效的类型。);else…….转换失败返回值为空一种类型转换方式

5使用自定义接口1、接口作为参数使用publicvoidTest(IPersonalIncomeincome){income.DisplayIncome();}无论是哪中类型的对象,这里都不需要变化2、接口作为返回值使用Test(newManager(张三,30,3000,3000));privateIPersonalIncomeCreateIPersonalIncome(stringtype){switch(type){case“Manager: f=newManager(张三,30,3000,3000);break;…}returnf}返回一个实现该接口的对象f.getLength()以实现接口的对象作为参数

6显式和隐式接口接口接口的应用★接口和抽象类的区别嵌套类和分部类

7接口实现接口的显式实现显式实现是通过使用接口的完全限定名来实现接口成员的显式接口成员实现不能使用任何修饰符显示接口只能通过接口的对象来使用,不能通过类的实例进行访问。接口的隐式实现实现接口成员的方法或属性等必须是public和非静态的类实现一个接口时,必须实现整个接口。一个类实现多个接口。如果两个接口中有不同成员具有相同的名字,如何解决冲突?

8接口的使用及继承如何使用接口继承多个接口单继承;但可以实现多个接口。继承接口的接口接口可以继承一个或多个其他接口。接口继承它父接口所有成员,并且接口用户必须实现所有被继承接口的所有成员。在确定对象实现了某个特定接口之后,就可以引用该接口。可以把对象类型强制转换为接口类型。基类放在第一位

9设计接口的注意事项一个设计良好的接口可以包含一个紧密相关的功能集合,这些功能定义了一个特定行为。可以为接口开发新的增强实现,而不破坏现有的代码接口不变性接口使用的场合不需要从父类继承实现在基类不同的类之间实现多态性

10显式和隐式接口接口接口的应用★接口和抽象类的区别嵌套类和分部类

11接口和抽象类的比较抽象类接口不同点一个不完整的类,需要进一步细化接口只是一个行为规范或规定只能被单一继承可以被多重实现可以定义字段、属性和方法实现只能定义属性、索引器、事件、和方法声明,不能包含字段具备继承的特点不具备继承的任何具体特点,仅承诺了能够调用的方法相同点可以被继承不能被实例化可以包含方法声明派生类必须实现未实现的方法

12接口和抽象类的比较当准备为组件提供多态性时,以下建议将有助于在抽象类和接口之间做出正确的选择。目标选择创建多个组件版本抽象类设计小而简练的功能块接口设计大型功能单元抽象类

13重写和重载的区别重载重写不同点同一个类父类和子类方法签名不同方法签名必须相同,返回值必须相同不做要求子类方法的访问级别不能低于父类相应方法的访问级别相同点方法名必须一致

1414接口的一个应用在一个类层次中要实现多态,必需具备一组有相同祖先的类如果我们想要划分成组的类不具有

您可能关注的文档

文档评论(0)

云一就是云一 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档