多态性带来了一个问题,就是如何判断一个变量所实际引用的对象的类型 。 C++使用runtime-type information(RTTI),Java 使用 instanceof 操作符。instanceof 运算符用来判断一个变量所引用的对象的实际类型,注意是它引用的对象的类型,不是变量的类型。请...
分类:
编程语言 时间:
2015-04-11 08:52:15
阅读次数:
142
template类模板。当建立对象时,如果实际类型指定为int或其他某种类型,则用int/此类型取代所有type。如果在类模版外定义类成员函数,则应写成模板形式:type class名::成员函数名(形参列表){};类模型的类型参数可以有多个,但每个前面都必须加class,如template;类模板...
分类:
其他好文 时间:
2015-04-01 19:13:09
阅读次数:
125
1 构造一个对象的时候,必须知道对象的实际类型,而虚函数行为是在运行期间确定实际类型的。而在构造一个对象时,由于对象还未构造成功。编译器无法知道对象的实际类型,是该类本身,还是该类的一个派生类,或是更深层次的派生类。无法确定。。。2 虚函数的执行依赖于虚函数表。而虚函数表在构造函数中进行初始化工作,...
分类:
其他好文 时间:
2015-03-21 18:31:10
阅读次数:
106
动态绑定是在执行期间(而不是编译期间)判断所用对象的实际类型,根据其实际的类型调用其相应的方法(确定选择哪个多态形式被调用)。首先是方法的参数是父类对象,传入子类对象是否可行然后引出Parent p = new Children();这句代码不是很理解,google的过程中引出向上转型要理解向上转型...
分类:
编程语言 时间:
2015-03-20 23:20:18
阅读次数:
596
【泛型】起因:JDK1.4之前类型不明确装入集合的类型都被当做Object对待,从而失去自己的实际类型。从集合中取出时往往需要转型,效率低,且很容易出错。解决办法:在定义集合的时候同时定义集合中对象的类型----实例程序:List c = new ArrayList();//原本传入的强制转换为Ob...
分类:
编程语言 时间:
2015-03-20 21:38:55
阅读次数:
150
多态性带来了一个问题,就是如何判断一个变量所实际引用的对象的类型 。 C++使用runtime-type information(RTTI),Java 使用 instanceof 操作符。instanceof 运算符用来判断一个变量所引用的对象的实际类型,注意是它引用的对象的类型,不是变量的类型。请...
分类:
编程语言 时间:
2015-03-11 12:48:54
阅读次数:
192
基础加强
一回顾泛型
二泛型的反射
三注解基础加强一、回顾泛型
泛型的基本概念:
以ArrayList为例:① ArrayList中的E称为类型参数变量ArrayList中的Integer称为实际类型参数②整个ArrayList称为泛型类型整个ArrayList称为参数化的类型(ParameterizedType)定义一个泛型方法:
:
// <...
分类:
编程语言 时间:
2015-02-13 07:02:30
阅读次数:
358
常有人会拿var这个关键字来和dynamic做比较。实际上,var和dynamic完全是两个概念,根本不应该放在一起做比较。var实际上是编译期抛给我们的“语法糖”,一旦被编译,编译期会自动匹配var 变量的实际类型,并用实际类型来替换该变量的申明,这看上去就好像我们在编码的时候是用实际类型进行申明的。而dynamic被编译后,实际是一个object类型,只不过编译器会对dynamic类型进行特殊...
RTTI
通过运行时类型识别(RTTI),程序能够使用基类的指针或引用来检索这些指针或引用所指对象的实际派生类型。通过下面两个操作符提供
RTTI:
1. typeid 操作符,返回指针或引用所指对象的实际类型。
2. dynamic_cast 操作符,将基类类型的指针或引用安全地转换为派生类型的指针或引用。
这些操作符只为带有一个或多个虚函数的类返回动态类型信息,对于...
分类:
其他好文 时间:
2015-01-13 19:58:02
阅读次数:
242