- 1、本文档共43页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
c_类的继承.ppt
5.3 抽象类和抽象方法 第五章 继承及多态性 抽象类 抽象类是能够包含抽象成员的类。 抽象类只能作为基类使用,不能被实例化(创建对象)。 public abstract class Animal { public abstract void Sound(); } Animal animal=new Animal(); 1. 创建抽象类Shape,声明求面积的抽象方法GetArea() ; 2. 创建子类,矩形,重写基类的GetArea()方法; 3.创建子类,圆形,重写基类的GetArea()方法; 4.创建应用程序,创建矩形、圆形对象,分别进行计算。 5.3 抽象类和抽象方法 第五章 继承及多态性 第五章 继承及多态性 抽象类和抽象方法的使用规则 抽象类只能作为其它类的基类,它不能直接被实例化。 它只能作为基类使用。 一个类中可以包含一个或多个抽象方法,但不是必须的。 抽象类中可以存在非抽象的方法,抽象方法必须包含在抽象类中。 实现抽象方法用override关键字。如果子类没有实现抽象基类中所有的抽象方法,则子类也必须定义成一个抽象类。 抽象类可以被抽象类所继承,结果仍是抽象类。 抽象方法被实现后,不能更改修饰符。 5.3 抽象类和抽象方法 5.4 接口 第五章 继承及多态性 接口(Interface) U盘 MP3 移动硬盘 图5.4.1 USB接口 接口是一套规范,满足这个规范的设备,我们就可以把它们组装到一起,从而实现该设备的功能。 5.4 接口 第五章 继承及多态性 接口的概念 C#中,接口用来定义一种程序的协定。通俗地说,接口就是 说明一个类“能做什么”。实现接口的类或者结构要与接口的定 义严格一致。 interface Iflyable //定义接口 { void fly(); } class Plane : Iflyable //实现接口 { public void fly() { Console.WriteLine(“飞机会飞!); } } class Bird : Iflyable //实现接口 { public void fly() { Console.WriteLine(“鸟类会飞!); } } 5.4 接口 第五章 继承及多态性 接口的声明 语法形式: [访问权限] interface 接口名 { 接口内容 } 提示: 接口命名常常以字母“I”开头 interface Iflyable //定义接口 { void fly(); void start(); } 只有声明,没有实现, 没有成员变量 interface IShape //定义接口 { public string name; public void Draw(){…} } 不可设置访问权限 5.4 接口 第五章 继承及多态性 接口举例 实例5.4.1:接口的使用 飞机使用引擎和机翼飞行 鸟类使用翅膀飞行 超人握紧拳头,举起双手飞行 5.4 接口 第五章 继承及多态性 接口的实现 一个类可以同时继承其他类和实现多个接口。 接口的棒棒糖表示法 图5.4.2 继承和接口的UML表示 5.4 接口 第五章 继承及多态性 接口的实现 5.4 接口 第五章 继承及多态性 请根据以下的UML图写出图中所有内容的代码。 5.4 接口 第五章 继承及多态性 接口小结 类是对象的抽象、抽象类是对类的抽象、接口是对行为的抽象 一个接口定义一个协定,使用者和实现者之间的协定 更多时候,接口表现出对外提供的服务,故没有成员变量 接口可以用来解决多重继承的问题 从形式上看,接口是没有成员变量的抽象类,但语义上讲不通 如果行为跨越不同类的对象,可使用接口 本章作业: 一、简答题 1. 请举例说明继承的特点。 2. 什么是抽象类?它有哪些特点? 3. 接口和抽象类的区别? 二、编程题 1.某公司有各类员工, 定义一个员工类,该类具有员工的姓名和基本薪金;并有一个虚方法输出员工的薪金,还有一个属性读写员工的薪金,并至少给出两个形式对该类的构造函数进行重载。 第五章 继承及多态性 第五章 继承及多态性 本章作业: 二、编程题 2. 对不同的员工,薪金的计算方法不同,定义一个销售员类和计件工人类,其继承自员工类,销售员除了员工类的基本薪金外,还有一个销售提成域;计件工人除了员工类的基本薪金外,还有每件工资和生产的产品件数域,现在在派生
文档评论(0)