多态关键字:instanceof用于判断运行时对象是否是某个类的实列返回的是布尔类型的值:true 或者 false动态多态的技术基础 1.向上转型技术:一个父类的引用变量可以指向不同的子类对象,或者说一个子类对象可以被当作一个父类类型 2.动态绑定技术:运行时根据父类引用变量所指对象的实际类型执行 ...
分类:
其他好文 时间:
2016-12-07 20:51:06
阅读次数:
201
C++的多态性用一句话概括就是:在基类的函数前加上virtual关键字,在派生类中重写该函数,运行时将会根据对象的实际类型来调用相应的函数。如果对象类型是派生类,就调用派生类的函数;如果对象类型是基类,就调用基类的函数 1:用virtual关键字申明的函数叫做虚函数,虚函数肯定是类的成员函数。 2: ...
分类:
编程语言 时间:
2016-11-17 20:10:14
阅读次数:
280
通过RTTI,能够通过基类的指针或引用来检索其所指对象的实际类型。c++通过下面两个操作符提供RTTI。 (1)typeid:返回指针或引用所指对象的实际类型。 (2)dynamic_cast:将基类类型的指针或引用安全的转换为派生类型的指针或引用。 对于带虚函数的类,在运行时执行RTTI操作符,返 ...
分类:
编程语言 时间:
2016-11-02 23:40:35
阅读次数:
236
1、可变参数函数的函数头书写形式:type func_name(para_type para1,...); 2、确定函数可变参数的实际个数和各个参数的实际类型.(只能从逻辑上做某些约定) ...
分类:
编程语言 时间:
2016-10-31 13:38:36
阅读次数:
273
Java 虚拟机指令集所支持的数据类型: 在 Java 虚拟机中,实际类型与运算类型之间的映射关系,如下表所示: 加载和存储指令用于将数据从栈帧的局部变量表和操作数栈之间来回传输: 将一个局部变量加载到操作栈的指令包括有:iload、iload_<n>、lload、lload_<n>、fload、f ...
分类:
其他好文 时间:
2016-10-03 17:02:25
阅读次数:
503
构造函数不能声明为虚函数,析构函数可以声明为虚函数,而且有时是必须声明为虚函数。不建议在构造函数和析构函数里面调用虚函数。构造函数不能声明为虚函数的原因是:1 构造一个对象的时候,必须知道对象的实际类型,而虚函数行为是在运行期间确定实际类型的。而在构造一个对象时,由于对象还未构造成功。编译器无法知道 ...
分类:
其他好文 时间:
2016-09-20 23:51:30
阅读次数:
197
类型参数的类型推断(花了张老师两天的时间总结) l 编译器判断范型方法的实际类型参数的过程称为类型推断,类型推断是相对于知觉推断的,其实现方法是一种非常复杂的过程。 l 根据调用泛型方法时实际传递的参数类型或返回值的类型来推断,具体规则如下: 1.当某个类型变量只在整个参数列表中的所有参数和返回值中 ...
分类:
其他好文 时间:
2016-08-27 23:31:50
阅读次数:
173
1重写与重载的区别:重写是子类实现父类的方法,重载是在一个类中,可以出现多种同名方法,只要参数列表不同。 2可以用抽象类来声明对象,但其实际类型需要为其非抽象子类或实现类。 3接口中只能有抽象方法。 4对象声明在其作用的大括号中生效。 ...
分类:
其他好文 时间:
2016-08-18 21:12:07
阅读次数:
110
一、基本概念 Java是一门面向对象的程序设计语言,因为Java具备面向对象的三个基本特征:封装、继承和多态。这三个特征并不是各自独立的,从一定角度上看,封装和继承几乎都是为多态而准备的。多态性主要体现在对象的方法调用上: 1.编译期根据对象的静态类型进行静态分派。 2.运行期根据对象的实际类型进行 ...
分类:
编程语言 时间:
2016-08-18 19:53:58
阅读次数:
296
协议定义了一系列的方法。 id类型将类的类型隐藏起来了,可以有多个不同的实现类。只在运行期才查出些对象的实际类型 可以用协议把API之中的实现细节隐藏起来,将返回的对象设计为遵从此协议的纯id类型(也叫“匿名类型”)。这个概念就称为“匿名对象”(anonymous object)。 例: @prop ...
分类:
其他好文 时间:
2016-08-09 20:27:23
阅读次数:
160