第5章 面向对象高级 继承ppt课件.ppt
《第5章 面向对象高级 继承ppt课件.ppt》由会员分享,可在线阅读,更多相关《第5章 面向对象高级 继承ppt课件.ppt(62页珍藏版)》请在三一办公上搜索。
1、课前练习,定义一个Time类,包括:三个私有数据成员时,分,秒;两个构造函数,一个通过传入的参数对时、分、秒进行初始化,一个无参构造函数获取系统当前时间(System.DateTime.Now.Hour, System.DateTime.Now.Minute, System.DateTime.Now.Second 分别取得当前的时、分、秒),三个自读属性对时、分、秒读取一个方法用于对秒增加1秒(void addseconed(),注意六十进位问题一个输出时、分、秒的输出方法void output();创建对象进行测试,面向对象-继承,5.1 类的继承,5.1.1 继承的概念在现实生活中,继承一
2、般指的是子女继承父辈的财产。在程序中,继承描述的是事物之间的所属关系,通过继承可以使多种事物之间形成一种关系体系。例如猫和狗都属于动物,在程序中便可认为猫和狗继承自动物,同理波斯猫和巴厘猫继承自猫,而沙皮狗和斑点狗继承自狗,这些动物之间会形成一个继承体系。具体如下图所示。,5.1 类的继承,在C#中,类的继承是指在一个现有类的基础上去构建一个新的类,构建出来的新类被称作子类,现有的类被称作父类,子类会自动拥有父类所有可继承的属性和方法。,继承关系,在面向对象环境中,不同类的对象间有各种关系:继承关系:,父类(超类 ),继承关系,父类,子类,继承关系,父类,子类,继承父母的特征,如身高、肤色和行
3、为,继承关系,你可以在超类和它的子类之间建立关系。下图显示了超类的子类的层次。,继承关系,Automobile 属性:车轮、引擎、颜色等,前进、加速、后退、停止等方法,思考,创建搅拌器、VCR、洗衣机、音响类、对象的层次,并且在可能的地方进行归纳。,答案:下图显示了类对象的层次。,组合关系,面向对象编程允许你组成一个对象,它包括另一个对象作为它的部分。这个组成对象的机制被称为组合。,汽车与轮胎的关系,公司与部门的关系,思考,识别下面类对间的关系:1.电视 扬声器2.哺乳动物 老虎3.外衣 衬衫4.杯子 茶5.计算机 微处理器,答案:5 和 1是组合关系的例子。3 和 2是继承关系的例子。4没有
4、表现出任何关系。茶不是杯子的属性。,利用关系,面向对象编程允许类使用另一个类。这个关系类型被称为利用。,思考,在下面的部门商店的场景中识别类和它们的利用关系。 有几个柜台,商店的每个柜台由一个销售人员负责,它销售特定的商品。顾客来到一个柜台。依赖顾客购买产品的想法,销售人员销售产品给客户并且接受支付。,答案:上述场景的利用关系是:销售人员管理柜台。每个柜台处理一个特定的产品。顾客买一个产品。顾客付钱给销售人员。,名词 动词 名词,实例化关系:实例化关系是类与类的实例之间的关系。这种关系称为实例化。xxx 是 xxx公共汽车是机动车香蕉是水果西南石油大学是一所高校,在C#中,继承实际就是子类继承
5、父类的数据成员和成员函数。继承或从其他类获得属性的类被称为派生类。属性被派生的类被称为基类。在面向对象编程中,基类实际是超类,派生类是子类。基类、超类是一回事派生类、子类是一回事,使用类和继承,实现继承,定义一个animal类,具有数据成员 name,age,和赋值方法void setdata 给name和age成员赋值,一个输出output方法输出name和age的值定义一个dog类,具有数据成员name,age和type(string类型),具有赋值方法void setdog给name、age和type数据成员赋值,output_dog方法输出name、age和type的值,基类和派生类的
6、写法和继承关系,基类中公有成员 在派生类的访问及类外访问情况,基类中的公用成员 在派生类及其类外均可直接访问 基类的 公有成员在派生类中仍然是公有成员,基类中私有成员 在派生类的访问及类外的访问,基类的私有成员在派生类中没法直接使用,在类外也不能访问继承的基类私有成员在派生类中仍然是 私有成员,基类中保护成员 在派生类的访问和类外访问情况,基类中保护成员 在派生类 可直接使用,在派生类中仍然是保护成员保护成员在 类外部是 没法访问的,派生类书写 形式public或internal class 类名:基类名,5.1 类的继承,注意:在类的继承中,需要注意一些问题,具体如下:派生类自然继承基类的成
7、员基类中的公用成员 在派生类及其类外均可直接访问 继承的 公有成员在派生类中仍然是公有成员基类的私有成员在派生类中没法直接使用,在类外也不能访问继承的基类私有成员在派生类中仍然是 私有成员基类中保护成员 在派生类 可直接使用,在派生类中仍然是保护成员保护成员在 类外部是 没法访问的,继承具有单一性,也就是说一个类只能有一个直接的父类,例如下面的语句是错误的。多个类可以继承同一个父类,例如下面的语句是正确的。,class A class B class C : A , B /C类不可以同时继承A类和B类,class A class B : A class C : A /类B和类C都可以继承类A,
8、5.1 类的继承,在C#中,多层继承是可以的,即一个类的父类可以再去继承其他类,例如C类继承自B类,B类又继承自A类,这时,C类也可称作A类的子类,下面的语句是正确的。,class A class B : A /B类继承自A类,B类是A类的子类 class C : B /C类继承自B类,C类是B类的子类,举例,课堂练习,Employee类是一个基类,它包含_name和_qualification两个私有成员(string类型)以及用于接收(void setdata(string name,string qualificatin)和显示信息(void display()的两个方法。名为Progr
9、ammer的派生类包含_languages、_os和_databases 3个私有成员(string 类型)和用于接收和显示信息的两个方法。为Programmer类创建一个对象,并调用派生类的方法来存储和输出值。,派生类中 构造函数的调用顺序,创建派生类对象 先调用继承的基类构造函数,然后再调用派生类构造函数派生类构造函数 后面没有指定基类构造函数 先调用默认无参的基类构造函数,派生类 对象 调用继承的基类有参构造函数,课堂练习,用C#编写一个程序,使用Employee和Programmer两个类。Employee具有姓名和学历等属性,通过构造函数给属性赋初值(提供无参和有参构造函数),需要提
10、供方法实现以接收和显示这些属性的值。Programmer类具有Employee类属性,还具有代表其技能集的属性,这些属性表明程序员在编程语言、操作系统和数据库方面的专业知识,通过构造函数为这些属性赋初值(提供无参和有参构造函数)。同样地,需要提供方法实现以接收和显示这些属性的值。通过主函数 创建派生类对象 来 显示 所以属性的信息。分析:Employee类是一个基类,它包含_name和_qualification两个成员以及构造函数、接收和显示信息的三个方法。名为Programmer的派生类包含_languages、_os和_databases 3个成员和构造函数、用于接收和显示信息的两个方法
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第5章 面向对象高级 继承ppt课件 面向 对象 高级 继承 ppt 课件

链接地址:https://www.31ppt.com/p-1428604.html