第8章.继承和多态.ppt

第8章.继承和多态.ppt

ID:48167448

大小:279.50 KB

页数:47页

时间:2020-01-16

第8章.继承和多态.ppt_第1页
第8章.继承和多态.ppt_第2页
第8章.继承和多态.ppt_第3页
第8章.继承和多态.ppt_第4页
第8章.继承和多态.ppt_第5页
资源描述:

《第8章.继承和多态.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第8章继承和多态继承和多态的基本概念派生类的声明和使用访问关键字this和base虚方法、重写方法和隐藏方法抽象类和抽象方法密封类和密封方法接口的声明和使用8.1继承和多态的基本概念继承允许重用现有类(基类,亦称超类、父类)去创建新类(子类,亦称派生类)的过程。子类将获取基类的所有非私有数据和行为,子类可以定义其他数据或行为派生类具有基类的所有非私有数据和行为以及新类自己定义的所有其他数据或行为,即子类具有两个有效类型:子类的类型和它继承的基类的类型对象可以表示多个类型的能力称为多态性【例8.1】多态性示例8.2派生类在声明

2、派生类时,在类名称后放置一个冒号,然后在冒号后指定要从中继承的类(即基类)派生类可以访问基类的非private成员,但是派生类的属性和方法不能直接访问基类的private成员。派生类可以影响基类private成员的状态改变,但只能通过基类提供并由派生类继承的非private的属性和方法来改变C#不支持多重继承,即一个派生类只能继承于一个基类继承父类子类继承也可以说是一种包含关系继承类的继承性类的继承性是指一个类定义既可以具有其他类的数据成员、属性成员、方法成员等,也可以使其他类具有自己的数据成员、属性成员、方法成员等。在类的

3、继承中,被继承的类叫基类或父类,继承的类叫派生类或子类。人类的继承关系一般人类(Person),具有年龄、性别、姓名等特征学生:也是人,除了具有一般人的特征之外,还具有学号、就读学校、入学时间、考试成绩等特征【例8.2】派生类示例:创建基类Person,包含2个数据成员name和age、1个具有2个参数的构造函数;创建派生类Student,包含1个数据成员studentID、1个具有3个参数的派生类构造函数并用“:base”调用基类构造函数Person:一般人Student:学生类Name:LiuLiGender:'F'Ag

4、e:21Name:WangDanGender:'M'Age:42Name:LuSanGender:'F'Age:38Name:Zhang3Gender:'F'Age:18Score:88.0Name:Li4Gender:'M'Age:17Score:92.0父类子类练习:辨认以下类别的父子关系:1汽车、交通工具、飞机2运动用品、球类、篮球、足球练习:列举出一个“汽车”类的子类不使用继承设计类:人类和学生类classPerson{publicintage;publicstringname;publicvoidsleep();p

5、ublicvoideat();};classStudent;{publicintage;publicstringname;publicvoidsleep();publicvoideat();publicvoidstudy();};成员需要重新定义使用继承机制可以避免相同成员的重复定义定义派生类1.派生类定义格式派生类通常定义的语法格式为:类修饰符class类名:基类{类体}指定基类(父类)基类定义如下:publicclassStudent{publicstringid;publicstringname;publicstrin

6、gsex;publicbyteage;publicstringShow(){return"学号:"+id+"姓名:"+name+"性别:"+sex+"年龄:"+age;}}派生类定义如下:publicclassStudent_1:Student{publicbytescore1,score2;publicuintTotal(){return(uint)score1+(uint)score2;}publicfloatAverage(){return(float)(score1+score2)/2;}}例:使用继承的“学生类

7、”定义classPerson{publicintage;publicstringname;publicvoidsleep();publicvoideat();};classStudent:Person{publicintclassId;//班别编号publicintscore;//学生成绩publicvoidstudy();};首先定义基类,包含共有的成员Student类继承于Person类派生类的对象自动拥有父类的成员classPerson{publicintage;publicstringname;publicvoids

8、leep();publicvoideat();};classStudent:Person{publicintclassId;//班别编号publicintscore;//学生成绩publicvoidstudy(){Studentzhang3=newStudent();zhang3.age=

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。