还剩27页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
《C类的继承》PPT课件•C类继承的基本概念contents•C类继承的方式•C类继承的关键字目录•C类继承的特性•C类继承的应用场景•C类继承的注意事项01C类继承的基本概念什么是类和对象总结词类是对象的抽象,对象是类的实例类定义了一组属性(数据成员)和方法(成员函数),对象则是这些属性和方法的实例详细描述类是面向对象编程中的一个基本概念,它定义了一组具有相似属性和行为的对象的集合对象则是类的实例,具有类所定义的属性和行为通过类和对象的定义,可以实现代码的重用和模块化什么是继承总结词继承是一种机制,允许一个类(子类)继承另一个类(父类)的属性和方法,从而扩展和定制父类的功能详细描述继承是面向对象编程中的一个重要概念,它允许子类继承父类的属性和方法,同时可以添加或覆盖父类的行为通过继承,可以实现代码的重用和层次结构的建立,使得程序更加清晰、易于维护和扩展继承的层次结构总结词详细描述继承层次结构是指类之间的继承关系,形成一个层次继承层次结构是面向对象编程中的一个重要概念,它结构子类可以继承父类的所有属性和方法,同时可反映了类之间的层次关系在一个层次结构中,一个以添加新的属性和方法,或者覆盖父类的方法类可以作为另一个类的父类,从而形成一个树状的层次结构子类可以继承父类的所有属性和方法,同时也可以添加新的属性和方法,或者覆盖父类的方法,以实现定制化的功能这种层次结构有助于实现代码的重用和模块化,使得程序更加清晰、易于维护和扩展02C类继承的方式公有继承公有继承是C中默认的继承方式,当一个类从另一个类继承时,如果不指定继承方式,则默认为公有继承公有继承的特点是基类的公有成员和保护成员在派生类中保持不变,即派生类可以访问基类的公有和保护成员公有继承主要用于实现代码重用和多态性私有继承010203私有继承的特点是基类的公有私有继承主要用于实现组合,私有继承有助于实现封装和隐和保护成员在派生类中变为私即将一个类的对象作为另一个藏实现细节有成员,即派生类无法访问基类的私有成员,从而实现了代类的公有和保护成员码重用保护继承010203保护继承的特点是基类的公有和保护继承主要用于实现多态性,保护继承有助于实现运行时类型保护成员在派生类中变为保护成即通过将基类指针或引用指向派信息(RTTI)和虚函数机制员,即派生类可以访问基类的保生类对象,实现动态绑定护成员,但不能访问基类的公有成员03C类继承的关键字public描述public关键字表示该成员(变量、函数等)在类的外部可见,可以被任何外部代码访问示例如果一个类有一个public成员函数,那么这个函数可以在类的对象上被调用,也可以在类的外部被调用private描述private关键字表示该成员在类的外部不可见,只能被类的成员函数访问示例如果一个类有一个private成员变量,那么这个变量只能被类的其他成员函数访问和修改,而不能被类的对象直接访问protected描述示例protected关键字表示该成员在类的外部如果一个类有一个protected成员函数,不可见,但可以被类的派生类访问那么这个函数可以在类的对象上被调用,VS也可以在派生类中被调用同时,这个函数也可以被类的其他成员函数访问04C类继承的特性继承的访问控制公有继承(public)01基类中的公有成员在派生类中仍然是公有的,可以被外部代码访问私有继承(private)02基类中的公有成员在派生类中变为私有成员,只能被派生类内部访问保护继承(protected)03基类中的公有和保护成员在派生类中变为保护成员,只能被派生类和基类内部访问继承的构造函数和析构函数构造函数在派生类构造函数中,必须显式调用基类的构造函数如果未显式调用,编译器会调用基类的默认构造函数析构函数在派生类析构函数中,必须显式调用基类的析构函数如果未显式调用,编译器会调用基类的默认析构函数继承的成员函数覆盖(Override)隐藏(Hide)引入(Introduction)在派生类中可以定义与基类同名如果派生类中的函数与基类中的如果基类中的函数是私有的或受的函数,这会覆盖基类的函数函数同名但参数不同,则该派生保护的,可以通过在派生类中定当通过派生类对象调用该函数时,类函数会隐藏基类函数,而不是义一个公有同名函数来“引入”将执行派生类中的函数覆盖这意味着可以通过派生类该函数,使得外部代码可以通过对象调用该函数,但只能使用与派生类对象访问该函数派生类函数匹配的参数列表05C类继承的应用场景代码复用继承可以复用基类的代码,减少代码冗余,提高代码的复用性01子类可以继承基类的属性和方法,而不需要重新编写相同的代02码通过继承,子类可以重写或扩展基类的方法,实现更具体或更03复杂的功能多态性实现多态是面向对象编程在运行时,可以根据的一个重要特性,通对象的实际类型来调过继承和接口实现用相应的方法,实现动态绑定子类可以重写父类的方法,以实现不同的行为或返回类型类的扩展和定制01通过继承,可以扩展现有类的功能或定制特定需求02子类可以添加新的属性和方法,以满足更具体的需求03子类可以根据需要重写或扩展父类的方法,以实现定制化的功能或行为06C类继承的注意事项继承与聚合的选择总结词详细描述理解继承与聚合的区别在面向对象编程中,继承和聚合是两种常见的关系继承是子类继承父类的属性和方法,子类可以重写父类的方法或添加新的方法而聚合则是一种组合关系,一个类包含另一个类的对象作为其成员,但并不继承其方法或属性继承与聚合的选择总结词详细描述根据需求选择合适的继承方式在C中,可以通过类定义中的关键字class或struct来创建类如果需要使用继承,应该选择合适的继承方式(公有继承、私有继承或保护继承),以实现代码的重用和扩展虚函数的正确使用要点一要点二总结词详细描述理解虚函数的作用和用法虚函数是C中实现动态多态的一种机制通过在基类中使用关键字virtual声明虚函数,可以在派生类中被重写当通过基类指针或引用调用该函数时,将根据实际对象的类型来调用相应的函数实现虚函数的正确使用总结词详细描述注意虚函数的访问权限在声明虚函数时,应该注意其访问权限(公有、私有或保护)如果基类中的虚函数被声明为公有,则派生类中的重写函数也必须声明为公有;如果基类中的虚函数被声明为保护或私有,则派生类中的重写函数也必须声明为保护或私有避免多重继承总结词详细描述理解多重继承的潜在问题在C中,一个类可以从多个基类中继承属性和方法虽然多重继承可以实现代码的重用和扩展,但也容易导致一些问题,如钻石问题、虚函数歧义等因此,应该谨慎使用多重继承,并尽量通过其他方式实现类似的功能THANKS感谢观看。
个人认证
优秀文档
获得点赞 0