还剩24页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
BIG DATAEMPOWERSTO CREATEA NEWERA《类的继承性》ppt课件目录CONTENTS•类的继承性概述•类的继承方式•类的继承中的访问权限•类的继承中的构造函数和析构函数•类的继承中的多态性•类的继承性的应用场景BIG DATAEMPOWERSTO CREATEA NEWERA01类的继承性概述什么是类的继承性类的继承性是指一个类(子类)可以继承另一个类(父类)的属性和方法,并且可以在此基础上添加或覆盖父类的特性子类可以从父类那里继承数据成员和成员函数,并可以使用这些继承来的特性子类还可以定义自己的特性,以实现更具体或更复杂的功能为什么使用类的继承性010203代码重用扩展性多态性通过继承,子类可以复用当需要添加新的功能或特通过继承,可以实现多态父类的代码,避免重复编性时,可以通过继承来创性,即一个接口可以有多写相同的功能建一个新的子类,而不是种实现方式,使得程序更修改现有的类加灵活和可扩展类的继承性的基本概念父类和子类成员的继承一个类可以从另一个类继承,子类可以继承父类的所有成员称后者为父类(或基类),前(数据成员和成员函数)者为子类(或派生类)继承方式访问修饰符在C中,可以使用公有子类可以访问父类的公有和保(public)、私有(private)护成员,但不能访问父类的私和保护(protected)三种继承有成员方式BIG DATAEMPOWERSTO CREATEA NEWERA02类的继承方式公有继承总结词公有继承是最常见的继承方式,它使得基类的公有成员在派生类中保持公有访问权限详细描述在公有继承中,基类的公有成员在派生类中保持公有访问权限,这意味着派生类可以直接访问基类的公有成员函数和公有变量这种继承方式使得派生类可以继承基类的属性和方法,并且可以在派生类中重写基类的虚函数私有继承总结词私有继承使得基类的公有成员在派生类中变为私有成员,而保护成员保持不变详细描述在私有继承中,基类的公有成员在派生类中变为私有成员,保护成员保持不变这意味着派生类不能直接访问基类的公有成员函数和变量,但可以访问基类的保护成员这种继承方式使得派生类可以继承基类的实现细节,但无法直接使用基类的公有接口保护继承总结词保护继承使得基类的所有成员(公有和保护)在派生类中保持保护访问权限详细描述在保护继承中,基类的所有成员(公有和保护)在派生类中保持保护访问权限这意味着派生类可以访问基类的保护成员,但不能访问基类的公有成员这种继承方式使得派生类可以继承基类的实现细节,但限制了对基类公有接口的访问BIG DATAEMPOWERSTO CREATEA NEWERA03类的继承中的访问权限父类成员在子类中的访问权限父类中的公有成员在父类中的私有成员在子类中也是公有的,子类中是不可访问的,可以直接访问无法直接访问父类中的保护成员在子类中是保护的,也可以直接访问子类对父类成员的访问权限01子类可以继承父类的公有和保护成员,并可以直接访问这些成员02子类无法继承父类的私有成员,因此无法直接访问这些成员子类对自身成员的访问权限子类中的公有成员在子类外部子类中的保护成员在子类外部子类中的私有成员在子类外部也是公有的,可以直接访问是保护的,也可以直接访问是不可访问的,无法直接访问BIG DATAEMPOWERSTO CREATEA NEWERA04类的继承中的构造函数和析构函数子类构造函数对父类构造函数的调用子类构造函数在执行时,首先会调用如果父类没有默认构造函数(即不带父类的构造函数这是为了初始化父参数的构造函数),那么子类必须显类中定义的数据成员和执行父类的初式地调用父类的带参数的构造函数始化操作在子类构造函数中,可以使用`super`关键字来显式调用父类的构造函数例如,`super参数列表;`子类析构函数对父类析构函数的调用子类的析构函数在执行时,会先在子类的析构函数中,不需要显如果父类没有定义析构函数,那调用父类的析构函数这是为了式地调用父类的析构函数,因为么子类的析构函数会自动调用父确保父类中的资源被正确释放C编译器会自动处理类的默认析构函数父类构造函数和析构函数的执行顺序在子类的构造函数中,父类的构造函数在子类的析构函数中,父类的析构函数需要注意的是,如果子类中定义了与父会先执行,然后才是子类的构造函数会后执行,以确保父类中的资源被正确类同名的成员变量或方法,那么在子类这是为了确保父类中的数据成员和资源释放中访问这些成员时,会优先访问子类中被正确初始化的成员,而不是父类中的成员这称为“屏蔽”或“隐藏”BIG DATAEMPOWERSTO CREATEA NEWERA05类的继承中的多态性什么是多态性多态性是指一个接口可以有多种在面向对象编程中,多态性允许多态性是面向对象编程的三大特实现方式,或者一个对象可以表子类对象以父类引用的方式出现,性之一,其他两个特性是封装和现出多种形态从而实现了代码的灵活性和复用继承性多态性的实现方式接口实现继承实现对象转型一个类可以实现多个接口,子类可以继承父类的属性将子类对象转型为父类类并为其提供不同的实现方和方法,并为其提供不同型,通过父类引用来调用式的实现方式子类的方法多态性的优缺点优点提高代码的灵活性和复用性,减少代码冗余;增强程序的可扩展性和可维护性缺点可能会引起运行时错误,因为父类引用实际上指向的是子类对象,如果父类引用调用的方法在子类中不存在,就会导致空指针异常BIG DATAEMPOWERSTO CREATEA NEWERA06类的继承性的应用场景在游戏开发中的应用敌人AI设计在游戏中的敌人AI可以通过继承来角色创建共享行为和策略,例如移动、攻击和防御等,使得不同敌人的行为更游戏中的角色可以通过继承来共加丰富和灵活享公共属性和方法,例如生命值、攻击力等,从而减少代码重复,提高开发效率游戏关卡设计游戏关卡可以通过继承来共享公共关卡元素,例如障碍物、道具等,使得关卡设计更加高效和灵活在软件工程中的应用模块化设计代码重用多态性实现在软件工程中,类的继承性可以通过继承,可以重用已有的类代多态性是面向对象编程的重要特用于实现模块化设计,使得软件码,减少代码重复,提高开发效性之一,而类的继承性是实现多系统更加清晰、可维护和可扩展率态性的基础通过继承,可以实现更加灵活和动态的程序行为在日常编程中的应用数据模型设计在日常编程中,类的继承性可以用于设计数据模型,使得数据模型更加清晰、可维护和可扩展插件系统设计通过继承,可以设计更加灵活和可扩展的插件系统,使得程序更加易于扩展和维护自动化测试在自动化测试中,可以通过继承来共享测试用例和测试数据,提高测试效率和代码重用。
个人认证
优秀文档
获得点赞 0