第八章 多态性
- 格式:ppt
- 大小:132.00 KB
- 文档页数:29
第八章多态1.单选题(1).下列关于运算符重载的描述中,( D )是正确的。
(A) 可以改变参与运算的操作数个数 (B) 可以改变运算符原来的优先级(C) 可以改变运算符原来的结合性(D) 不能改变原运算符的语义(2).下列函数中,不能重载运算符的函数是( b )。
(A) 成员函数(B) 构造函数(C) 普通函数 (D) 友员函数(3).要求用成员函数重载的运算符是( A )。
(A) =(B) == (C) <= (D) ++(4).要求用友员函数重载的运算符是( C )。
(A) = (B) [] (C) <<(D) ()(5).在C++中,要实现动态联编,必须使用( D )调用虚函数。
(A) 类名(B) 派生类指针(C) 对象名(D) 基类指针(6).下列函数中,不能说明为虚函数的是( C )。
(A) 私有成员函数(B) 公有成员函数(C) 构造函数(D) 析构函数(7).在派生类中,重载一个虚函数时,要求函数名、参数的个数、参数的类型、参数的顺序和函数的返回值( A )。
(A) 相同(B)不同(C) 相容(D) 部分相同(8).C++中,根据(D )识别类层次中不同类定义的虚函数版本。
(A) 参数个数(B) 参数类型(C) 函数名(D) this指针类型(9).虚析构函数的作用是(C )。
(A) 虚基类必须定义虚析构函数(B) 类对象作用域结束时释放资源(C)delete动态对象时释放资源(D) 无意义(10).下面函数原型中,( B )声明了fun为纯虚函数。
(A) void fun()=0; (B) virtual void fun()=0;(C) virtual void fun(); (D) virtual void fun(){ };(11).若一个类中含有纯虚函数,则该类称为( C )。
(A) 基类(B)纯基类(C) 抽象类(D) 派生类(12).假设Aclass为抽象类,下列正确的说明语句是( B )。
第十二章生物信息学及其在分子生物技术中的应用第一节概述一、生物信息学的概念生物信息学(bioinformatics)是生命研究领域的一门新兴学科,它诞生的渊源在于20世纪生命科学和计算机科学的快速发展,特别是在分子生物学、国际互联网(world wide web,WWW)和生物医药的发展前提推动下,生物信息学以其快速发展的态势而备受世人的瞩目,并在人类基因组计划(human genome project,HGP)实施及后基因组计划中占有重要的地位。
生物信息学的概念有许多版本,其一,生物信息学是采用计算机技术和信息论方法研究蛋白质及核酸序列等各种生物信息的采集、贮存、传递、检索、分析和解读的科学,是现代生命科学与计算机科学、数学、统计学、物理学和化学等学科相互渗透而形成的交叉学科。
其二,生物信息学的内涵十分具体,范围非常明确,由于生物信息学是伴随基因组研究的产生而产生,发展而发展的,因此它主要履行对基因组研究相关生物信息的获取、加工、贮存、分配、分析和解释等职责。
其三,生物信息学所研究的材料是生物学的数据,进行研究的方法是从各种计算技术衍生而来。
然而,无论是详尽描述还是简单概括,诸多观点对于生物信息学的研究目的和方法都是相对一致的。
生物信息学的内涵包括多个层面。
从生物学视角理解:生物信息学研究的是生物体内遗传信息的自然运动规律和变化,基因组数据是其研究的起点,通过破译基因序列的遗传规律、归纳转录调控规律和蛋白质谱数据,揭示生物体的发育、生长和代谢的过程;在后基因组时代,基因功能表达谱的研究是探讨基因在特定时空中的表达;确立核酸序列中编码蛋白质的基因,了解蛋白质的功能及其分子基础,采用蛋白质结构模拟与分子设计进行功能预测;对于已知的各种代谢途径和相关的生物分子的结构、功能及它们之间的相互作用进行整理,用以研究细胞发育、分化途径和疾病发生与发展的路径。
从信息学视角理解:生物信息学包括构建数据库和开发应用分析软件等多个方面。
多态性一、什么是多态性 1、多态性的定义术语“多态性”可以理解为“有许多形式”,一个“多态性引用”是可以在不同的时间指向不同类型的引用变量。
利用多态性调用的方法能够由一个调用改变为另一个调用。
分析下面的代码:obj.doIt(); 若obj引用是多态性的,它就可以在不同时刻指向不同类型的对象。
若将这行代码写在循环中或者写在一个调用多次的方法中,其结果是每次执行时可调用不同版本的doIt方法。
现实中,关于多态的例子不胜枚举,比方说按下 F1 键这个动作,如果当前在 Flash 界面下弹出的就是 AS 3 的帮助文档;如果当前在 Word 下弹出的就是 Word 帮助;在 Windows 下弹出的就是 Windows 帮助和支持。
同一个事件发生在不同的对象上会产生不同的结果。
汽车的方向盘就是一个简单的多态性示例。
无论实际的方向控制机制是什么类型的,方向盘(也就是接口)都是一样的。
也就是说,无论你的汽车是手动操纵、电力操纵还是齿轮操纵,方向盘使用起来都是一样的。
因此,只要你知道如何操作方向盘,那么就可以驾驶任何类型的汽车。
2、多态的好处:(1)可替换性(substitutability)。
多态对已存在代码具有可替换性。
例如,多态对圆Circle类工作,对其他任何圆形几何体,如圆环,也同样工作。
(2)可扩充性(extensibility)。
多态对代码具有可扩充性。
增加新的子类不影响已存在类的多态性、继承性,以及其他特性的运行和操作。
实际上新加子类更容易获得多态功能。
例如,在实现了圆锥、半圆锥以及半球体的多态基础上,很容易增添球体类的多态性。
(3)接口性(interface-ability)。
多态是超类通过方法签名,向子类提供了一个共同接口,由子类来完善或者覆盖它而实现的。
(4).灵活性(flexibility)。
它在应用中体现了灵活多样的操作,提高了使用效率。
wk_ad_begin({pid : 21});wk_ad_after(21, function(){$('.ad-hidden').hide();}, function(){$('.ad-hidden').show();});(5)简化性(simplicity)。