文档详情

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

发布:2025-05-21约2.69千字共18页下载文档
文本预览下载声明

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

2接口接口声明接口成员接口实现及继承★什么是接口重点接口的使用方法如何使用实现了某接口的对象如何继承多个接口接口与抽象类的比较

3问题如老师和学生都会开车,那么开车的方法应该放在哪个类?A:Teacher类B:Student类C:两个都放D:Person类E:重新定义造成代码冗余如果增加一个工人类,他不会开车。如果继承这个类,Person类怎么办?调用会开车的方法不需要改变自定义一个接口来实现IDrivingLicence

4什么是接口接口是引用类型,是一系列需要实现的功能的定义。接口类似于抽象基类,接口不能实例化接口成员包括:方法属性索引器事件类和结构可以继承多个接口,接口本身可以继承多个接口合同、契约、协议如何使用接口??

5接口声明接口声明的基本形式如下:[接口修饰符]interface接口名[:基接口]{接口体}一般为public注意:建议接口名以大写字母I开头接口如果声明在namespace中,则只能用public修饰默认为internal,不能用其他访问修饰符接口不存储数据,所有没有字段接口中声明的所有成员隐式地为public和abstract只能是接口例8.7计算显示框的长和宽

6自定义接口interfaceIPersonalIncome{doubleIncome{get;}voidDisplayIncome();}classManager:Employee,IPersonalIncome//学生收入的实现方式publicdoubleIncome{get{returnsubvention+scholarship+grants;}}publicvoidDisplayIncome(){Console.WriteLine({0},是一名学生,总收入{1},name,Income);}1、定义一个收入的接口2、在能计算收入的类实现该接口3、不同的类计算的方式不同//经理收入的实现方式publicdoubleIncome{get{returnSalary+Bonus;}}publicvoidDisplayIncome(){Console.WriteLine({0},是一名经理,总收入{1},Name,Income);}

7接口接口声明接口成员接口实现及继承★接口和抽象类的区别

8接口的方法成员接口成员接口成员声明不能包含任何修饰符只能包含成员的签名(返回值类型+方法名+参数列表)不能包含任何静态成员public

9接口属性成员属性可以在接口中声明:不能加修饰符属性的访问器没有方法体只是通过get和set指定属性的访问类型

10接口索引器成员语法格式:不能加修饰符属性的访问器没有方法体数据类型this[索引参数表]{get;或set;};

11接口接口声明接口成员接口实现及继承★

12接口实现要实现一个接口,需要声明一个类或结构,让它们从接口继承,并实现接口指定的全部方法接口的实现类可以是派生类或派生类的子类,并且这些派生类可以包括一些自己特有的类成员。接口的实现如下:[修饰符]class类名:基类,接口1,接口2{类体}实现接口的成员必须和接口成员有相同的签名不能加override如何使用实现了某接口的对象?

13使用自定义接口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()以实现接口的对象作为参数

14is与

显示全部
相似文档