第8章抽象类与接口专题课件.ppt

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
用接口实现不同的度量衡系统 接口IEnglishDimensions和IMetricDimensions分别表示不同的度量衡系统。IEnglishDimensions以英制(英寸)为单位, IMetricDimensions以公制(厘米)为单位,两个接口有相同的成员名(抽象方法)Length和Width。Box类继承IEnglishDimesions和IMetricDimesions两个接口,并为每个接口成员提供一个单独的实现。 (1厘米=0.3937英寸) 创建一个长为30厘米、宽为20厘米的Box对象,分别以厘米、英寸输出高和宽。 接口与抽象类 接口 显示接口实现练习 Thanks! 让我们一同开始编程之旅吧 主讲教师 覃宝珍 第8章抽象类与接口 抽象类 密封类 修饰符 接口 面向对象程序设计抽象类与接口 继承:派生类纳入一个已经声明的基类并进行扩展(代码重用) 抽象类 基类 派生类 继承 [访问修饰符] class 类名 [:基类名] { 类体(类成员声明); } 代码重用 概念 抽象类:抽象出多个类的共性,作为不能实例化的基类被其他类继承(代码重用) 基类 (抽象类) 派生类 继承 abstract class 类名 [:基类名] { 抽象成员(属性、方法、索引、事件); 非抽象成员; } 派生类格式 抽象类格式 抽象类示例—ShapesClass 抽象类 应用 1.圆和正方形都是形状,都需要输出形状名称和计算面积。 2.基于代码重用原则,根据二者共性设计可供代码重用的ShapesClass类。 3.由于圆和正方形计算面积的公式不同, ShapesClass类中的Area()无执行代码设计为抽象成员。 4.面积计算由派生类重写实现。 抽象成员:只有声明,无具体实现的隐藏virtual类成员 --在抽像类中以abstract修饰符声明 --在派生类中由重写override方法实现。 --只能将属性、方法、索引和事件设为抽象 抽象类 抽象成员 抽象类中: public abstract void 方法名(); 派生类中: public override void 方法名() { //方法体} 抽象成员定义及重写示例 抽象类示例—ShapesClass 抽象类 应用 阅读程序给出运行结果 抽象类 练习 阅读程序给出运行结果 抽象类 练习 阅读程序给出运行结果 抽象类 练习 抽象类 练习 船台租约练习,增加一个周租约类。 --船台宽度对应周租金单价为:10—120,12—140,14—180 --在主函数中增加一个周租约对象c3,输出租用12宽度船台的详细租约信息(船台型号、租用周数,起止日期,价格) 抽象类 练习 丰水期电费与枯水期电费的计价方式不同,丰水期电费每度为2.25元,如用电量超200度,则超出部分打9折;枯水期电费每度为3. 5元,如用电量超150度,则超出部分多收10%。 请设计一个抽象类(ElectricityCharge) ,并设计丰水期电费类(ElectricityChargeOfRain)和枯水期电费类(ElectricityChargeLackRain)继承该抽象类,实现电费的计算。 在主函数中计算并输出丰水期用电量为300度的电费,计算并输出枯水期用电量为300度的电费。 抽象类 练习 接口:是表示一组无实现部分的函数成员声明的引用类型 类或结构通过继承实现接口(约定或规范) 接口 [访问修饰符] interface 接口名[:其他接口] { 接口成员(属性、方法、索引、事件); } 概念 接口格式 接口1 类 继承实现 定义规范 具体实现 接口2 实现接口的任何非抽象类型都必须实现接口的所有成员。 不能直接实例化接口。 接口可以包含事件、索引器、方法和属性。 接口不包含方法的实现。 类和结构可继承多个接口。 接口自身可从多个接口继承。 所有接口成员默认为public和abstract,接口成员不能使用任何访问修饰符。 不能包含静态成员。 开关动作接口 及相关接口类的实现 ISwitch--interface 接口 应用示例 接口 抽象类 为代码重用而生的抽象基类 有非抽象成员 抽象成员通过基类重写(override)实现 遵从类的单继承原则,抽象类也只能单继承 抽象类主要用于关系密切的对象,而接口最适合为不相关的类提供通用功能规范定义。 抽象类偏重于IS-A式的关系,而接口着重于CAN-DO关系类型。 抽象类多定义对象的属性,而接口多定义对象的行为。 抽象类和接口 为规范而生的接口 成员全部默认抽象、公开 抽象成员通过实现接口的类用同名方法实现 类可继承多个接口 接口与抽象类 宠物特长表演应用—UML类图PetMast

文档评论(0)

a13355589 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档