【语言基础】参数多态、包含多态、过载多态和强制多态

news/2024/7/3 12:27:25 标签: 多态, 语言, 面向对象, 对象, 工作

一、前言

      多态对象>面向对象中起着非常重要的作用。多态性的官方介绍是作用于不同的对象的同一操作可以有不同的解释,从而产生了不同的结果。翻译过来就是:用同一个方法对不同的人操作有不一样的结果。

二、分类

      多态分为两种:通用的多态和特定的多态。两者的区别是前者对工作的类型不加限制,允许对不同类型的值执行相同的代码;后者只对有限数量的类型有效,而且对不同类型的值可能要执行不同的代码。

类型说明记忆方法
包含多态 一个继承了父类的一切属性的子类的对象同时属于父类2.子类型化 使用最多,子类型化
参数多态与类模板相关联,类模板所包含的操作涉及的类型必须用类型参数实例化
过载多态同一个算子(函数名等)在不同的上下文中可能有不同的操作意义上下文,重载
过载多态通过语义操作把一个变量的类型加以变换强制转换


      通用的多态又分为参数多态(parametric)和包含多态(inclusion);特定的多态分为过载多态(overloading)和强制多态(coercion)。

      强制多态:编译程序通过语义操作,把操作对象的类型强行加以变换,以符合函数或操作符的要求。程序设计语言中基本类型的大多数操作符,在发生不同类型的数据进行混合运算时,编译程序一般都会进行强制多态。程序员也可以显示地进行强制多态的操作(Casting)。举个例子,比如,int+double,编译系统一般会把int转换为double,然后执行double+double运算,这个int-》double的转换,就实现了强制多态,即可是隐式的,也可显式转换。

      过载(overloading)多态:同一个名(操作符﹑函数名)在不同的上下文中有不同的类型。程序设计语言中基本类型的大多数操作符都是过载多态的。通俗的讲法,就是c++中的函数重载。在此处中“overload”译为“过载”,其实就是所谓的“重载”,也许“overload”就应翻译为“过载,重载”吧,那“override”就只能是“覆盖”了。

      参数多态:采用参数化模板,通过给出不同的类型参数,使得一个结构有多种类型。个人感觉是“应该像C++中的模板类”吧,不知道对不对?

      包含多态:同样的操作可用于一个类型及其子类型。(注意是子类型,不是子类。)包含多态一般需要进行运行时的类型检查。—————–对于这个概念,我的理解是虚函数“virtual—override”机制。

三、总结

      节奏放慢,加油!!软考就过了,加油!!学会对比总结。成功就在前方。


http://www.niftyadmin.cn/n/1146328.html

相关文章

事件操作方式

<!-- 操作事件1. 属性事件 DOM0级<div onclick"函数()">按钮</div>2. 绑定事件 DOM2级var divEle document.querySelector(div)divEle.onclick function(){//执行的代码}3. 事件监听addEventListener 非IE 7&#xff0c;8事件源.addEventListen…

国产Office有望替代微软Office

近日&#xff0c;中国无锡的永中科技有限公司推出了最新版办公软件??EIOffice 2009&#xff0c;这款办公软件不仅仅基于一种中国政府大力推广的UOF文件格式&#xff0c;而且其价格也仅仅是微软公司提供的Office的一小部分。由于微软产品长期以来对办公软件的垄断&#xff0c;…

【软考】软件攻城狮考试(七)——语言基础

一、秋风扫落叶 ”以明公之威&#xff0c;应困穷之敌&#xff0c;击疲弊之寇&#xff0c;无异迅风之振秋叶矣“&#xff0c;随着我们前进的步伐&#xff0c;软考就想落叶一样&#xff0c;被我们清扫掉了。在程序员的道路上&#xff0c;最经常打交道的就是代码了&#xff0c;但是…

事件传播行为

<!-- 由内向外&#xff1a;事件冒泡由外向内: 事件捕获点击元素&#xff1a; 事件目标对象addEventListener的第三个参数决定了是事件捕获还是事件冒泡addEventListener(事件类型&#xff0c;事件处理函数,捕获true|冒泡false)> 默认冒泡false,可以不写-->默认行为 &…

【软工】软件工程(五)——高内聚低耦合

一、前言 模块独立是指每个模块完成一个相对独立的特定子功能&#xff0c;并且与其他模块之间的联系简单。而衡量模块独立的标准就是&#xff1a;耦合性和内聚性。我们要做到模块间的高内聚和低耦合。 二、耦合 耦合指的是模块间的联系紧密程度。 低耦合~~ 图一 耦合非直接耦合…

番茄花园版Windows XP作者被拘留!

番茄花园美化修改版Windows XP的作者、软件下载网站番茄花园(tomatolei.com)站长洪磊的父亲19日晚22:50日(上周五)被警 方拘留审查&#xff0c;网站被关闭&#xff0c;服务器及洪磊的笔记本被警方带走&#xff0c;为洪磊提供的技术开发支持的成都红果科技有限公司也被查封。洪磊…

【IT】我是计算机系统大师(三)——高速缓存地址映射方式

一、前言 计算机系统结构是站在程序员的角度所看到的计算机数学&#xff0c;即程序员要能编写出可以在计算机上正确运行的程序必须了解概念结构和功能特性。 二、对比介绍 直接映像 图一 直接映像主存一块只能映像到Cache的一个特定块中。 1 VS 1 优点&#xff1a;地址变换…

大连市三大行业人才需求旺盛

近日&#xff0c;大连人才市场公布了上半年人才需求情况&#xff0c;装备制造、&#xff29;&#xff34;、批发与零售贸易行业成为最热门的招聘行业。其次的热门行业是&#xff1a;金融&#xff0f;保险业、教育&#xff0f;培训业、化工&#xff0f;医药制造业和房地产业、食…