《C#语言程序设计》课程教学课件(PPT讲稿)第3章 C#面向对象编程-5/9

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

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

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

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

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

自定义接口 interface IPersonallncome 1、定义一个收入的接口 double Income get; void DisplayIncome(); 3 2、在能计算收入的类实现该接口 class Manager:Employee,IPersonallncome 3、不同的类计算的方式不同 /经理收入的实现方式 public double Income get return Salary Bonus; public void DisplayIncome() Console.WriteLine('"{o,是一名经理,总收入{1",Name,Income); 6
6 自定义接口 interface IPersonalIncome { double Income { get; } void DisplayIncome( ); } class Manager : Employee, IPersonalIncome //学生收入的实现方式 public double Income { get { return subvention + scholarship + grants; } } public void DisplayIncome() { Console.WriteLine("{0},是一名学生,总收入{1}", name, Income); } 1、定义一个收入的接口 2、在能计算收入的类实现该接口 3、不同的类计算的方式不同 //经理收入的实现方式 public double Income { get { return Salary + Bonus; } } public void DisplayIncome() { Console.WriteLine("{0},是一名经理,总收入{1}", Name, Income); }

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

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

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

接口索引器成员 语法格式: ·不能加修饰符 ■属性的访问器没有方法体 ■数据类型this[索引参数表]{get;或set;}; 10
10 接口索引器成员 ▪ 语法格式: ◼ 不能加修饰符 ◼ 属性的访问器没有方法体 ◼ 数据类型 this[索引参数表]{get; 或set;};
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《C#语言程序设计》课程教学课件(PPT讲稿)第3章 C#面向对象编程-4/9.ppt
- 《C#语言程序设计》课程教学课件(PPT讲稿)第3章 C#面向对象编程-3/9.ppt
- 《C#语言程序设计》课程教学课件(PPT讲稿)第3章 C#面向对象编程-2/9.ppt
- 《C#语言程序设计》课程教学课件(PPT讲稿)第3章 C#面向对象编程-1/9.ppt
- 《C#语言程序设计》课程教学课件(PPT讲稿)第2章 C#语言基础-4/4.ppt
- 《C#语言程序设计》课程教学课件(PPT讲稿)第2章 C#语言基础-3/4.ppt
- 《C#语言程序设计》课程教学课件(PPT讲稿)第2章 C#语言基础-2/4.ppt
- 《C#语言程序设计》课程教学课件(PPT讲稿)第2章 C#语言基础-1/4.ppt
- 《C#语言程序设计》课程教学课件(PPT讲稿)第1章 Microsoft.NET简介和C#概述.ppt
- 《C#语言程序设计》课程教学课件(PPT讲稿)第13章 Windows应用程序的部署.ppt
- 《C#语言程序设计》课程教学课件(PPT讲稿)第12章 GDI + 图形编程-2/2.ppt
- 《C#语言程序设计》课程教学课件(PPT讲稿)第12章 GDI + 图形编程-1/2.ppt
- 《C#语言程序设计》课程教学课件(PPT讲稿)第10章 ADO.NET数据库-3/3.ppt
- 《C#语言程序设计》课程教学课件(PPT讲稿)第10章 ADO.NET数据库-2/3.ppt
- 《C#语言程序设计》课程教学课件(PPT讲稿)第10章 ADO.NET数据库-1/3.ppt
- 《Visual FoxPro程序设计及其应用系统开发》课程电子教案(PPT教学课件)第9章 表单.ppt
- 《Visual FoxPro程序设计及其应用系统开发》课程电子教案(PPT教学课件)第8章 面向对象程序设计.ppt
- 《Visual FoxPro程序设计及其应用系统开发》课程电子教案(PPT教学课件)第7章 面向过程的程序设计.ppt
- 《Visual FoxPro程序设计及其应用系统开发》课程电子教案(PPT教学课件)第6章 数据库和数据表的命令.ppt
- 《Visual FoxPro程序设计及其应用系统开发》课程电子教案(PPT教学课件)第5章 查询与视图.ppt
- 《C#语言程序设计》课程教学课件(PPT讲稿)第3章 C#面向对象编程-6/9.ppt
- 《C#语言程序设计》课程教学课件(PPT讲稿)第3章 C#面向对象编程-7/9.ppt
- 《C#语言程序设计》课程教学课件(PPT讲稿)第3章 C#面向对象编程-8/9.ppt
- 《C#语言程序设计》课程教学课件(PPT讲稿)第3章 C#面向对象编程-9/9.ppt
- 《C#语言程序设计》课程教学课件(PPT讲稿)第4章 数组与集合-1/2.ppt
- 《C#语言程序设计》课程教学课件(PPT讲稿)第4章 数组与集合-2/2.ppt
- 《C#语言程序设计》课程教学课件(PPT讲稿)第5章 泛型-1/2.ppt
- 《C#语言程序设计》课程教学课件(PPT讲稿)第5章 泛型-2/2.ppt
- 《C#语言程序设计》课程教学课件(PPT讲稿)第6章 WinForm用户界面-1/4.ppt
- 《C#语言程序设计》课程教学课件(PPT讲稿)第6章 WinForm用户界面-2/4.ppt
- 《C#语言程序设计》课程教学课件(PPT讲稿)第6章 WinForm用户界面-3/4.ppt
- 《C#语言程序设计》课程教学课件(PPT讲稿)第6章 WinForm用户界面-4/4.ppt
- 《C#语言程序设计》课程教学课件(PPT讲稿)第7章 窗体的高级应用-1/3.ppt
- 《C#语言程序设计》课程教学课件(PPT讲稿)第7章 窗体的高级应用-2/3.ppt
- 《C#语言程序设计》课程教学课件(PPT讲稿)第7章 窗体的高级应用-3/3.ppt
- 《C#语言程序设计》课程教学课件(PPT讲稿)第8章 多线程-1/2.ppt
- 《C#语言程序设计》课程教学课件(PPT讲稿)第8章 多线程-2/2.ppt
- 《C#语言程序设计》课程教学课件(PPT讲稿)第9章 文件.ppt
- 珠海科技学院:《Web应用程序开发技术》课程教学大纲(软件工程专业UI设计课程,主讲:李昱).doc
- 珠海科技学院:《Web应用程序开发技术》课程授课教案(软件工程专业UI设计课程教案,主讲:李昱).doc