还剩25页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
《继承与派生类》ppt课件目录CONTENTS•继承与派生类的基本概念•继承的方式•派生类的构造函数和析构函数•继承中的访问权限控制•继承与多态•继承与组合01继承与派生类的基本概念继承的定义继承是面向对象编程中的一个通过继承,子类可以继承父类继承有助于代码重用和实现多重要概念,它允许一个类(子的所有非私有属性和方法,并态性,使得代码更加灵活和可类)继承另一个类(父类)的且可以重写或添加新的方法维护属性和方法派生类的定义派生类是继承自一个或多个基类的类派生类可以继承基类的所有非私有属性和方法,并且可以重写或添加新的方法派生类可以通过继承基类的属性和方法,并根据需要添加新的属性和方法来扩展其功能继承与派生的关系继承是派生的基础,一个类只能派生类是继承自基类的子类,它通过继承和派生,可以构建复杂从另一个类中继承可以从基类中继承属性和方法,的类层次结构,从而实现更加灵并根据需要添加新的属性和方法活和可维护的代码02继承的方式公有继承•总结词公有继承是C中最常用的继承方式,它表示基类的公有成员在派生类中也是公有的•详细描述在公有继承中,基类的公有成员在派生类中保持不变,可以直接被派生类的对象访问这使得派生类可以继承基类的属性和方法,并且可以在派生类中重写或添加新的功能•总结词公有继承有助于实现代码重用和多态性,使得程序更加灵活和可维护•详细描述通过公有继承,派生类可以继承基类的函数和数据成员,并且可以在派生类中重写或添加新的函数和数据成员这使得派生类可以拥有基类的所有公有成员,并且可以在需要时扩展或修改它们的功能私有继承030102总结词04总结词详细描述详细描述私有继承可以确保派生类只能通私有继承表示基类的公有成员过基类的公有和保护成员函数来在派生类中变为私有成员在私有继承中,基类的公有成访问基类的公有成员,增加了代通过私有继承,派生类只能通过员在派生类中变为私有成员,码的安全性基类的公有和保护成员函数来访不能被派生类的对象直接访问问基类的公有成员,这可以防止这使得派生类只能通过基类的直接访问可能导致的错误或安全公有和保护成员函数来访问基问题同时,派生类仍然可以重类的公有成员写或添加新的函数和数据成员保护继承总结词详细描述保护继承表示基类的保护成员在派生类中保持不在保护继承中,基类的保护成员在派生类中保持变,可以被派生类的对象访问不变,可以被派生类的对象访问这使得派生类可以继承基类的保护成员和函数,并且可以在派生类中重写或添加新的功能总结词详细描述保护继承可以确保基类的保护成员只能被派生类通过保护继承,基类的保护成员只能被派生类访访问,增加了代码的封装性问,这可以防止其他类直接访问基类的保护成员,增加了代码的封装性同时,派生类仍然可以重写或添加新的函数和数据成员03派生类的构造函数和析构函数派生类构造函数01020304派生类构造函数在创建派生类构造函数可以显如果没有显式调用基类派生类构造函数可以使派生类对象时自动调用,式调用基类构造函数,构造函数,则会自动调用初始化列表来初始化用于初始化派生类成员以完成基类成员变量的用基类的默认构造函数基类成员变量变量初始化派生类析构函数01020304派生类析构函数在派生类对象派生类析构函数可以显式调用如果基类没有定义析构函数,派生类析构函数不能被显式调销毁时自动调用,用于释放派基类析构函数,以释放基类所则会自动调用基类的默认构造用,只能通过销毁派生类对象生类所占用的资源占用的资源函数来释放资源来自动调用基类构造函数和析构函数的调用顺序在创建派生类对象时,先调用基类构在销毁派生类对象时,先调用派生类造函数,然后调用派生类构造函数析构函数,然后调用基类析构函数如果在派生类构造函数中显式调用了如果在派生类析构函数中显式调用了基类构造函数,则基类构造函数的调基类析构函数,则基类析构函数的调用顺序由调用的顺序决定用顺序由调用的顺序决定04继承中的访问权限控制公有访问权限公有访问权限允许派公有访问权限是继承生类直接访问基类的方式中限制最少的一公有成员种访问权限在派生类中,可以通过基类的公有成员函数来访问基类的公有数据成员私有访问权限私有访问权限不允许派生类直接访问私有访问权限是一种较为严格的访问基类的私有成员权限控制方式基类的私有成员在派生类中是隐藏的,无法直接访问保护访问权限保护访问权限允许派生类访问基在派生类中,可以通过基类的保保护访问权限介于公有访问权限类的保护成员护成员函数来访问基类的保护数和私有访问权限之间,是一种折据成员中的访问权限控制方式05继承与多态多态的定义01多态是指一个接口或基类引用变量可以指向多种实际类型,且通过该引用变量调用成员时,会根据实际类型来执行相应的方法02多态的存在使得程序具有更好的扩展性和灵活性,能够实现“一个接口,多种实现”的效果多态的实现方式接口或抽象类实现通过实现接口或继承抽象类,子类可以重写父类的方法,实现多态继承实现子类继承父类并重写父类方法,通过父类引用指向子类对象,实现多态接口或抽象类与继承结合子类继承父类并实现接口或抽象类,重写父类和接口或抽象类中的方法,实现多态虚函数和纯虚函数的定义和使用虚函数在基类中声明为virtual的成员函数,允许在派生类中被重写通过基类引用或指针调用时,会根据实际类型来执行相应的方法纯虚函数在基类中声明为virtual且没有实现的成员函数,要求派生类必须重写该函数纯虚函数在基类中没有实现,派生类必须提供具体的实现纯虚函数常用于定义抽象基类,以强制要求派生类实现某些功能06继承与组合组合的定义组合是指将两个或多个类组合在一起,形成一个新的类,其中被组合的类称为成员类,新类称为组合类组合是一种聚合关系,表示一种弱的“拥有”关系,体现的是A对象可以包含B对象,但不是B对象的实例组合和继承的区别继承是一种严格的层次关系,子类只能从父类那里继承方法和属性,子类是父类的特例组合是一种松散的关系,成员类和组合类之间没有严格的层次关系,成员类可以是组合类的实例,也可以是其他类的实例组合和继承的适用场景继承适用于存在明确的层次关系和父子关系的场景,例如动物和狗、猫的关系组合适用于需要将多个独立的对象组合成一个新对象的场景,例如汽车和发动机、轮胎的关系感谢您的观看THANKS。
个人认证
优秀文档
获得点赞 0