第十二章 多态与虚函数 一、多态的概念 向不同的对象发送同一个消息,不同的对象在接收时会产生不同的行为 具有不同功能的函数名可以用同一个函数名,以实现用一个函数名调用不同内容的函数 *静态多态和动态多态(编译时的多态性和运行时的多态性) 静态多态的特点:调用速率快、效率高,但缺少灵活性,在程序运行前 ...
分类:
其他好文 时间:
2017-06-13 18:19:59
阅读次数:
157
1 工厂方法模式简单介绍 工厂方法 (Factroy Method)模式:又称多态性工厂模式(Polymorphic Factory),在这样的模式中,核心工厂不再是一个详细的类。而是一个抽象工厂,提供详细工厂实现的接口,详细创建产品交由子工厂去做,抽象工厂不涉及不论什么产品被实例化的细节。而不同等 ...
分类:
编程语言 时间:
2017-06-12 11:52:18
阅读次数:
248
联编(Binding): 确定具有多态性的语句调用哪个函数的过程。 Static Binding (静态联编) : 在程序编译时确定调用哪个函数 例:函数重载 Dynamic Binding (动态联编) :在程序运行时,才能够确定调用哪个函数 用动态联编实现的多态,也称为运行时的多态 基类定义了虚 ...
分类:
其他好文 时间:
2017-06-09 23:35:08
阅读次数:
243
Java面向对象编程基础 面向对象(Object oriented programming,OOP)技术是一种强有力的软件开发方法,它採用数据抽象与信息隐藏技术,来使软件开发简单化,以达到代码重用的目的。 1、OOP的3个特性(封装、继承和多态性) 封装是类的基础。指把类的相关实现细节隐藏起来,在类 ...
分类:
编程语言 时间:
2017-06-06 23:25:26
阅读次数:
254
代码编译、运行、保存: 本系统目前支持 Java、C++ 的编译。如有其他语言需要编译,扩展也很简单,因为这里使用了一个抽象类LanguageTest,处理好代码运行编译之前的文件保存,代码运行之中的测试用例读取,代码运行编译之后的数据保存。主要利用了面向对象的多态性。 在子类中,只需要设置一些参数 ...
分类:
其他好文 时间:
2017-06-05 21:05:27
阅读次数:
493
一, 什么是虚函数(如果不知道虚函数为何物,但有急切的想知道,那你就应该从这里开始) 简单地说,那些被virtual关键字修饰的成员函数,就是虚函数。虚函数的作用,用专业术语来解释就是实现多态性(Polymorphism),多态性是将接口与实现进行分离;用形象的语言来解释就是实现以共同的方法,但因个 ...
分类:
编程语言 时间:
2017-06-03 12:58:13
阅读次数:
189
以下内容引用自http://wiki.jikexueyuan.com/project/java/polymorphism.html: 多态性是指对象能够有多种形态。在OOP中最常用的多态性发生在当父类引用指向孩子类对象时。 任何能够通过一个以上的IS-A测试的Java对象被认为是多态的。在Java中 ...
分类:
编程语言 时间:
2017-06-03 10:00:09
阅读次数:
254
工厂方法属创建型类模式,也称虚构造器/多态性工厂模式,工厂方法使得一个类的实例化延迟到其子类。在简单工厂模式中,产品的创建由静态工厂方法做出判断并返回相应的的对象,缺点就是当我们要添加新的类并希望创建新的对象的时候,我们需要修改静态工厂方法,有没有那种只添加新功能而不修改系统有原有功能的方案呢?当然 ...
分类:
其他好文 时间:
2017-06-03 09:55:58
阅读次数:
193
C++多态方式: (1)静态多态(重载,模板) 是在编译的时候,就确定调用函数的类型。 (2)动态多态(覆盖,虚函数实现) 在运行的时候,才确定调用的是哪个函数,动态绑定。运行基类指针指向派生类的对象,并调用派生类的函数。 虚函数实现原理:虚函数表和虚函数指针。 纯虚函数: virtual int ...
分类:
编程语言 时间:
2017-06-01 10:26:20
阅读次数:
318
以下内容引用自http://wiki.jikexueyuan.com/project/java/object-classes.html: 一、概述 Java是一种面向对象的语言。作为一种具有面向对象特征的语言,Java包括以下几项基本概念: 多态性 继承性 封装性 抽象性 类 对象 实例 消息解析 ...
分类:
编程语言 时间:
2017-05-31 10:22:41
阅读次数:
227