【C++】面向对象编程(一) 继承、多态、动态绑定

本文介绍了面向对象编程中的关键特性——继承,通过共享共通数据和行为创建类层次结构;多态允许灵活操作派生类,提高代码复用;动态绑定在运行时确定函数调用,区别于静态绑定。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

面向对象编程概念的两项主要特质:继承和多态。

继承

  • 继承:将一群相关的类组织起来,分享其间的共通数据和操作行为
  • 继承机制定义了父子关系/继承关系
    父类/基类:定义了所有子类的共通的公有接口和私有实现;
    子类/派生类:可以增加/覆盖继承而来的东西,以实现子类自身独特的行为;
  • 抽象基类:仅仅为了编程设计而存在的类,主要用于定义派生类的共同操作;
  • 间接利用"指向抽象基类"的指针或引用,来操作一个类系统中的各对象,而不直接操作各个实际对象,可以在不更动原程序的前提下,加入或移除任何一个派生类。

多态

  • 在这些类之上进行编程,如同操控单一个体,并非相互独立的类,并可以更灵活地来加入或移除任何特定的类;
  • 让基类的指针或引用得以十分透明地指向其任何一个派生类的对象。
void loan_check_in(LibMat &mat)	//LibMat:抽象基类
{
	//mat:某个派生类的对象
	mat.check_in();
	
	if(mat.is_late())
		mat.assess_fine();
	
	if(mat.waiting_list())
		mat.notify_available();
}

动态绑定

  • 静态绑定:程序执行前已解析出应该调用哪个类的成员函数;
  • 动态绑定:程序执行时依据抽象基类的类对象所代表的实际对象解析出应该调用哪个派生类的成员函数。

总结

  1. 继承:让我们可以定义一整群互有关联的类,并共享通用的接口
  2. 多态:让我们可以用一种与类型无关的方式来操作类对象,通过抽象基类的指针或引用来操纵一整群互有关联的类的共同接口;
  3. 动态绑定:在程序执行时依据抽象基类的指针或引用所指的是基类对象的类型才能决定。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值