C#面向对象程序设计 第2版 教学课件 ppt 作者 郑宇军 CSCH10

上传人:E**** 文档编号:89344249 上传时间:2019-05-23 格式:PPT 页数:22 大小:2.23MB
返回 下载 相关 举报
C#面向对象程序设计 第2版  教学课件 ppt 作者  郑宇军 CSCH10_第1页
第1页 / 共22页
C#面向对象程序设计 第2版  教学课件 ppt 作者  郑宇军 CSCH10_第2页
第2页 / 共22页
C#面向对象程序设计 第2版  教学课件 ppt 作者  郑宇军 CSCH10_第3页
第3页 / 共22页
C#面向对象程序设计 第2版  教学课件 ppt 作者  郑宇军 CSCH10_第4页
第4页 / 共22页
C#面向对象程序设计 第2版  教学课件 ppt 作者  郑宇军 CSCH10_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《C#面向对象程序设计 第2版 教学课件 ppt 作者 郑宇军 CSCH10》由会员分享,可在线阅读,更多相关《C#面向对象程序设计 第2版 教学课件 ppt 作者 郑宇军 CSCH10(22页珍藏版)》请在金锄头文库上搜索。

1、1,第10章 基于接口的程序设计,纲要,接口的定义和使用 接口与多态 接口和多继承 接口与集合,2,3,接口,抽象类,类,4,接口的定义和使用,定义,public interface IDrawable bool Draw(decimal money); ,无实现代码,5,接口的定义和使用,定义 继承,public interface IDrawable bool Draw(decimal money); public interface IDepositDraw : IDrawable bool Deposit(decimal money); ,6,接口的定义和使用,定义 继承 实现 隐式实

2、现,public interface IDrawable bool Draw(decimal money); public class BankAccount : IDrawable private decimal balance = 1000; public bool Draw(decimal money) if(balance = money) balance -= money; return true else return false; ,公有成员,7,接口的定义和使用,定义 继承 实现 隐式实现 显式实现,public interface IDrawable bool Draw(de

3、cimal money); public class BankAccount : IDrawable private decimal balance = 1000; bool IDrawable.Draw(decimal money) if(balance = money) balance -= money; return true else return false; ,私有成员,8,接口与多态,基于接口的多态性,public interface IPayable bool Pay(decimal money); public class BankAccount : IPayable pri

4、vate decimal balance = 1000; public virtual bool Pay(decimal money) . ,9,接口与多态,基于接口的多态性,public interface IPayable bool Pay(decimal money); public class BankAccount : IPayable private decimal balance = 1000; public virtual bool Pay(decimal money) . public class CreditCard : BankAccount public overrid

5、e bool Pay(decimal money) . ,10,接口与多态,区分对象方法和接口方法,public interface IPayable bool Pay(decimal money); public class BankAccount : IPayable private decimal balance = 1000; public virtual bool Pay(decimal money) . bool IPayable.Pay(decimal money) . public class CreditCard : BankAccount public override b

6、ool Pay(decimal money) . ,11,Demo: Bank/ CreditCard,12,接口与多继承,BankAccount,Payer,CreditCard,13,接口与多继承,BankAccount,CreditCard,IPayable,14,接口与多继承,BankAccount,CreditCard,IPayable,CreditCard,IGlobalPayable,15,接口与多继承,解决二义性,public class CreditCard : BankAccount, IPayable public override bool Pay(decimal mo

7、ney) . ,继承基类成员,16,接口与多继承,解决二义性,public class CreditCard : BankAccount, IPayable public override bool Pay(decimal money) . bool IPayable.Pay(decimal money) . ,继承基类成员,实现接口成员,17,接口与多继承,解决二义性,public class CreditCard : BankAccount, IPayable public override bool Pay(decimal money) . bool IPayable.Pay(decim

8、al money) . public class VisaCard : CreditCard, IGlobalPayable public override bool Pay(decimal money) . bool IPayable.Pay(decimal money) . ,继承基类成员,实现接口成员,继承基类成员,实现IPayable成员,18,接口与多继承,解决二义性,public class CreditCard : BankAccount, IPayable public override bool Pay(decimal money) . bool IPayable.Pay(d

9、ecimal money) . public class VisaCard : CreditCard, IGlobalPayable public override bool Pay(decimal money) . bool IPayable.Pay(decimal money) . bool IGlobalPayable.Pay(decimal money) . ,继承基类成员,实现接口成员,继承基类成员,实现IPayable成员,实现IGlobalPayable成员,19,接口与集合,Interfaces IEnumerable, IEnumerator, IList, IDictionary.,20,接口与集合,Interfaces IEnumerable, IEnumerator, IList, IDictionary. Classes ArrayList, Queue, Stack, SortedList.,21,Demo: List/ Queue/ Stack,22,本章习题,简述接口和抽象类的相同点和不同点。 说说接口的显式实现和隐式实现的区别,以及它们各自的用途。 集合型类型支持接口有什么好处? 找出并定义图书馆管理系统中的相关接口。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号