java中的反射机制使我们能够在运行期间获取运行期类的信息,那么在delphi中有没有这样的功能呢?答案是有,实现这种功能的机制在delphi中叫做RTTI,废话少说,先来一段demo: 1.先定义一个demo类,注意这个类必须要以TPersistent为基类,代码如下: Delphi代码 unit
分类:
其他好文 时间:
2016-03-02 23:35:21
阅读次数:
242
一、引言 很多时候我们的程序可能需要在运行时识别对象和类的信息,比如多态就是基于运行时环境进行动态判断实际引用的对象。在运行时识别对象和类的信息主要有两种方式:1.RTTI,具体是Class对象,它假定我们在编译时已经知道了所有类型。2.反射机制,运行我们在运行时发现和使用类的信息。 二、RTTI
分类:
编程语言 时间:
2016-02-29 21:40:33
阅读次数:
255
去年我花了很多时间尝试用DELPHI进行基于XML的WEB应用开发。起初的设想是很美好的,但结果做出来的东西很简陋。一部分原因就在于XML到Object之间的数据绑定实现太麻烦(另一部分是因为对XSLT不熟,学习它花了很多时间)。 之前我一直是用DELPHI提供的XML Data binding来做
在对Java学习的过程中,对于转型这种操作比较迷茫,特总结出了此文。例子参考了《Java编程思想》。 目录 几个同义词 向上转型与向下转型 例一:向上转型,调用指定的父类方法 例二:向上转型,动态绑定 例三:向上转型,静态绑定 例四:向下转型 转型的误区 1.运行信息(RTTI) 2.数组类型 3.
分类:
编程语言 时间:
2016-02-23 12:48:11
阅读次数:
220
Delphi的VCL从TPersistent开始支持RTTI(RuntimeTypeInfo)运行时类型信息,它是通过{$M+}编译指令提供了RTTI的功能.M打开以后,Delphi在编译该对象时,会把对象的类型信息编译进可执行文件,这样在运行时就可以动态地获得对象的属性和方法等信息.因为所有的VC
分类:
其他好文 时间:
2016-02-06 01:41:32
阅读次数:
290
mac下编译mcrypt的时候总是报错,起初提示rm:conftest.dSYM:isadirectorycheckingifgccsupports-fno-rtti-fno-exceptions...yescheckingforgccoptiontoproducePIC...-fno-common-DPICcheckingifgccPICflag-fno-common-DPICworks...yescheckingifgccstaticflag-staticworks...no..
分类:
系统相关 时间:
2016-01-28 07:11:00
阅读次数:
610
什么是C++对象模型?要想理解它,必须把C++语言层面的面向对象特征和概念与对象的底层技术结合起来进行分析。前者如构造函数、拷贝和赋值函数、析构函数、静态成员、虚函数、继承、组合、动态创建对象、RTTI等。后者则是语言实现隐藏起来的细节,如对象的内存映像,vtable的构造、vptr的插入和初始化的...
分类:
编程语言 时间:
2016-01-25 22:43:27
阅读次数:
271
Runtime type information (RTTI) allow you to discover and use type information while a program is running This take two forms: 1. "traditional" ...
分类:
编程语言 时间:
2016-01-25 17:07:28
阅读次数:
192
dynamic_cast:将基类类型的指针向派生类指针安全转换。多用于下行转换。上行转换时,和static_cast是一样的。C++类型转换看这里。下面主要说多态下的RTTI:使用条件: 基类应有虚函数。 编译器需启用Runtime Type Information/Identification.....
分类:
其他好文 时间:
2016-01-19 23:22:44
阅读次数:
271
Java中有两种方式让我们在运行时识别对象的类的信息:传统的RTTI(Run-Time Type Identification)和反射。Class对象Class对象包含了与类有关的信息,用来创建类的所有“常规”对象的特殊对象。每一个类都有一个Class对象。创建Class对象的引用可以用两种方式来创...
分类:
其他好文 时间:
2016-01-06 06:48:48
阅读次数:
241