Advertisement

C++助教3 Week2知识点

阅读量:

多态的概念

在面向对象编程语言中接口的各种具体实现形式即体现了多态性这一特性。我们可以将这一概念与生活中的"多义词"现象相类比:就像汉字"打"这个字既可以表示"击打"动作(如老师对学生进行纪律处分),也可以表示"舀取液体"行为(如个人日常所需),还可以指代某方向来的外来势力(如南边来的宗教人士)。在这里"打"作为一个接口名其具体含义就等同于所定义的功能类型——具有不同功能的不同函数名称。

C++中的表现形式:

  • 函数多态性:支持多个功能的任务都可以使用相同的名称来执行不同的操作。
    这种机制允许同一名称在不同的上下文中被解释为不同的操作。
  • 行为模式多态性:行为模式多态性指的是通过将父类实例配置为其子类实例的一种技术,在这种情况下,默认的行为模式会根据所配置实例的具体属性而变化其功能。

从系统实现的角度来看,多态性可以分为静态多态性和动态多态性两大类。两者的区别在于静态多样性要求在程序编译阶段就能确定调用的函数;而动态多态性则是在编译阶段不预先确定调用函数,在程序运行阶段才动态地确定操作对象。

函数重载

在C++编程语言中允许存在多个具有相同名称但参数设置有所区别的同名函数。这些同名函数在参数个数、数据类型或顺序这三个方面中至少有一个特性与其他同名函数有所不同。编译器利用名称修饰机制识别并匹配相应函数从而实现各自的功能需求。这样一来不仅减少了冗余的

全部评论 (0)

还没有任何评论哟~