Delphi 类的特性】的更多相关文章

delphi 各新版本特性收集 http://www.cnblogs.com/dreamszx/p/3602589.html…
类的特性讲解 类的特性 #定义一个类, class是定义类的语法,Role是类名, (object)是新式类的写法,必须这样 写,以后再讲为什么 class Role(object): #初始化函数,在生成一个角色时要 初始化的一些属性就填写在这里 def __init__(self,name,role,weapon,life_value=100,money=15000): #__init__中的第一个参数self,和这里的self都 是什么意思? 看下面解释 self.name = name…
http://blog.csdn.net/blue_morning/article/details/8815609 Delphi 类的类 class of 用法   这个概念本来在一个关于Delphi RTTI 介绍的文档中已经说得很清楚了.但没有任何关于实际使用的介绍,在我明白了这个概念和如何使用后决定写一个使用说明以方便大家使用. 类的类在什么时候使用:知道父类但需要创建具体的子类时(你不知道子类会是什么) 例如:一个Delphi Exe程序中项目文件的Application.CreateF…
Class类的特性(上) ES6 的类,完全可以看作ES5构造函数的另一种写法. class Point { // ... } typeof Point // "function" Point === Point.prototype.constructor // true 上面代码表明,类的数据类型就是函数,类本身就指向构造函数. 构造函数的prototype属性,在 ES6 的“类”上面继续存在.事实上,类的所有方法都定义在类的prototype属性上面. class Point {…
  TObject:    VCL中所有类的根类,即是说:VCL中所有的类/组件/控件都是从TObject中继承而来.TObject类中定义了基本的 构造方法和析构方法.   TPersistent:    继承于TObject,按字典中的意思是“持久类”(姑且这样叫它吧,因为我一直就是这样叫这个类的-_-|).该类在VCL中的地位不亚于TObject,VCL中很大一部分类都是继承于这个类的.TPersistent类实现了published域对象的RTTI功能,也就是说:该类以及它的派生类中定义…
1:StringBuffer(掌握) (1)用字符串做拼接,比较耗时并且也耗内存,而这种拼接操作又是比较常见的,为了解决这个问题,Java就提供了 一个字符串缓冲区类.StringBuffer供我们使用. (2)StringBuffer的构造方法 A:StringBuffer() B:StringBuffer(int size) C:StringBuffer(String str) (3)StringBuffer的常见功能 A:添加功能 public StringBuffer append(St…
本节内容 1.概述 2.访问属性 3.私有属性 4.总结 一.概述 在上篇博客中我们已经讲了一些关于类的知识,我们来回顾以下: 定义类(class dog(object))-> 实例化(d = dog()) -> 实例化对象(d) __init__()构造函数 self.name = name 被称为属性.成员变量.字段 def sayhi(self)  被称为方法.动态属性 下面我们继续学习类的特性. 二.访问类属性 2.1 成员变量和参数 1 2 3 4 5 6 7 8 9 10 11 1…
delphi中类引用的使用实例 类引用类引用(Class Reference)是一种数据类型,有时又称为元类(MetaClass),是类的类型的引用.类引用的定义形式如下: class of type 例如: type SomeClass = class of TObject; var AnyObj: SomeClass; TObject = class end; TClass = class of TObject; 下面的例子说明了类引用的用法: program Project1; {$APP…
什么是元数据,什么是反射: 程序是用来处理数据的,文本和特性都是数据,而我们程序本身(类的定义和BLC中的类)这些也是数据. 有关程序及其类型的数据被称为元数据(metadata),它们保存在程序的程序集中. 程序在运行时,可以查看其它程序集或其本身的元数据.一个运行的程序查看本身的元数据或者其他程序集的元数据的行为叫做反射. 下面我们我们来学习如何使用Type类来反射数据,以及如何使用特性来给类型添加元数据. Type位于System.Reflection命名空间下 Type类 预定义类型(i…
背景:通过JQuery动态给Html元素增加.删除类或属性,使Html元素在不同的时刻呈现不同的样式,给用户更好的体验感觉. 如存在以下p片段和button按钮,代码如下: <p id="pDisplay">现在的背景颜色是白色,点击按钮以后背景变为红色</p> <button id="changeColor">更改颜色</button> 存在如下css代码: <style> .colorRed{ back…
php从以前到现在一直都是单继承的语言,无法同时从两个基类中继承属性和方法,为了解决这个问题,php出了Trait这个特性 用法:通过在类中使用use 关键字,声明要组合的Trait名称,具体的Trait的声明使用Trait关键词,Trait不能实例化 如下代码实例: <?php trait Dog{ public $name="dog"; public function bark(){ echo "This is dog"; } } class Animal…
TApplication类用于开发窗口程序的类.此类封装了一个窗口应用程序,其方法和属性反映了窗口操作系统在建立.执行.维持以及析构该程序等方面的基本原则.Delphi的每个窗口程序都会自动声明一个Application对象,此变量属于Tapplication类. TApplication类对象常用属性:ExeName:只读,EXE文件路径名.Title:读写.标题,即运行时应用程序图标后的文字.除了直接设置此属性外,还可通过另一种方式更改:Project->Options->Applicat…
#encoding=utf-8 class Province: #静态字段 memo = '这里是静态变量' def __init__(self,name,capital,leader,flag): #动态字段 self.Name = name self.Capital = capital self.Leader = leader #私有字段 self.__Thailand = flag #动态方法 def sports_meet(self): print self.Name + '正在开会';…
类的成员,如果没有private.public等显示什么,直接在class下面,没有写访问权限的限定符,这种成员是不是默认的访问权限啊?还是publish的访问权限啊? ---------------------------------------------------------- 什么答案都有, 就是都不愿意动手, 让我们来看看答案是什么吧 implementation uses rtti, typinfo; {$R *.dfm} type TTest1 = class MemberOfT…
要说灵活性,是C++更强.我自己开发已经好几次碰到需要多继承的情况了. 但是Delphi强迫继承TObject,虽然是单继承,但是提供了相当多的强力功能.要说强大,那还是Delphi当仁不让. 摘自<Delphi深度历险>…
本章学习要点:        1.  掌握static 修饰的类,方法以及变量的功能及用法;        2.  掌握代码块(静态,非静态)的作用以及注意事项:        3.  了解基本数据类型的封装类的功能和用法以及自动装箱.拆箱        4.  了解类对象比较(==, equals)方法用法;        5.  了解隐藏根类(Object)的几个默认方法的使用: 一.static 修饰符   二.类中代码块   三.基本类型封装类   四.对象之间的比较   五.根类方法解…
一.类的私有成员和公有成员 1.私有成员 修饰符private    如果在类的声明前加上修饰符private,则无法从该类的外部访问到该类的内部成员,而只能被该类自身访问和修改,而不嗯那个被其他类,包括该类的子类来获取和引用,达到对数据最高级别保护 2.公有成员 修饰符public  表示该成员可以被其他所有的类缩访问 二.方法的重载 如果同一个类中包含了两个或两个以上方法名相同.方法参数的个数.顺序或类型不同的方法,则称为方法的重载,也可称该方法被重载了.如下所示 4 个方法名称都为 sho…
//类中数据成员的排列顺序一般是: 字段.方法.属性 //访问权限区域的顺序一般是:   无限制区(默认 published)   private   protected   public   published 请问:既然无限制区默认是published,我放一个property ABC : string;在里面可以吗? 回答:这不一定, 只有继承与 TPersistent 的类才可以. 因为 TPersistent 有 {$M+} 编译指令. 也就是说: 只有编译指令 {$M+} 打开后,…
类的派生.多态.抽象类.接口 1:派生-extends 派生就是继承已有类非私有的字段和方法等创建新的类,还可以添加.重写字段和方法: 在类的派生中,构造函数不可以被继承: 派生源的类-父类/基类/超类;派生的类-子类/派生类; 2:super(…)调用超类的构造函数,在子类构造函数的开头: super(…)和this(…)不能同时存在构造函数中,因为都必须在开始调用: 3:子类的构造函数中如果无显示调用超类构造函数,则会自动调用超类中的“不接收参数的构造函数”; X(……){super();}…
继承 extends 子类的共性代码都是继承自父类的,每个子类只要写自己特有的代码 class 子类 extends 父类 继承提高了代码的复用性,提供了多态的前提,但是不要为了某个功能去继承 子类不是父类的子集,而是对父类的扩展 规则:子类不能直接访问父类中private的成员变量和方法 只支持单继承,不能多重继承,可以多层继承.子类只能有一个父类 方法的重写override 子类重写父类的方法,只是重新编写方法体代码,如果父类的方法是public ,子类重写时就不能使用缺省以下的修饰符 al…
TMyDemo = class(TObject) FName: string; {数据成员(Field)} FAge: Integer; private {私有的} {最为隐秘的访问程度} procedure SetAge(Value: Integer); protected {受保护的} {中等程度的访问能力} procedure IAmAStatic; {静态方法} procedure IAmAVirtual; virtual; {虚方法} procedure IAmADynamic; dy…
http://blog.csdn.net/starsky2006/article/details/5497082 http://blog.csdn.net/starsky2006/article/details/5497113 http://blog.csdn.net/starsky2006/article/details/5497127…
http://www.cnblogs.com/del/category/114896.html…