delphi&oo 回顾

类就是角色,一个对象实例可能有多重角色。

类的核心是属性(数据/状态),区别不同类的正是类(私有)数据,否则没必要搞多个类,层次过重没有好处。

对象是类的实例。

<class name> = Class(<parent class name>)

。。。

end;

 

类声明中先声明数据成员,再声明类方法。

类方法中有2类特殊方法。

构造函数:在类实例创建时被执行。

形如 constructor Create(变量列表);

构造函数可以重载(overload),即可以有多个构造函数(不同的变量列表)。

析构函数:在类实例销毁时被执行。

destructor Destory(); //不可以再传变量进去了

析构函数可以重写,因为一个继承(inherience)的原因,特定的析构函数有时难免要被子类改写(override)。

继承父类的析构函数: inherited Destroy(); //放在析构函数的最后

 

除了包括普通的数据成员,类还有属性,允许外界以简单的方式对(普通的)数据成员进行读写操作。

property <Prop>: <type> read <read func> write <write func> default <default value>;

<Prop> := <value>;

 

但对于复杂的数据成员,属性有点力有不逮了。

 

类成员的可见性

private,

protected

public

published

 

子类可以增强父类成员的可见性,但不能降低其可见性。

 

一个类只有一个虚拟表,改类的所有对象都会通过这个虚拟表调用虚方法。

当某个类的对象创建时,编译器会为这个对象制定所属类的虚拟表或虚函数表(VMT)。虚拟表的地址存在对象地址内容的前4个字节中。

每个子类的虚函数表会完全继承父类的虚函数表(的实现),只是将覆盖的虚函数的地址改变了。VMT中的虚函数非常齐全,对每个虚函数入口的地址只需简单的VPTR+n操作就可得到。

除了VMT还有,DMT(动态函数表),实现的功能和VMT一样,只是VMT时间效率高,DMT空间效率高。

和静态方法相比,虚方法(方法后跟 virtual)意味着其地址在编译时是不固定的,而是在程序运行时通过动态查找而指定(如何查找?),又叫动态绑定或滞后绑定。

 

 

多态,其实就是为了增强处理数据的灵活性。通过基类指针或引用指向子类的对象,调用其虚方法实现的。

 

类运算符 as 像强制类型转换,只可向上。

is 判断是不是一个类或其子类的对象实例。

 

 

 

 

 

 

 

 

代码转载自:https://pan.quark.cn/s/9cde95ebe57a 横道图,亦称为甘特图,是一种可视化的项目管理手段,用于呈现项目的进度安排和时间框架。 在信息技术领域,特别是在项目执行与软件开发范畴内,横道图被普遍采用来监控作业、配置资源以及保障项目能按时交付。 此类图表借助水平条带图示来标示各个任务的起止时间点,使项目成员与管理者可以明确掌握项目的整体发展状况。 周期表或可指代计算机科学中的“作业调度周期表”或“资源配置周期表”。 在计算机系统中,作业调度是一项核心功能,它规定了哪个进程或线程能够在中央处理器上执行以及执行的具体时长。 周期表有助于系统管理者洞察作业的执行频率和资源使用状况,进而提升系统的运作效能和响应能力。 不仅如此,周期表也可能意指数据处理或研究中的周期性文档,如在金融分析中按期更新的市场信息文档。 在压缩文件“横道图,周期表.zip”内含的“横道图,周期表.doc”文件,很可能是对某个项目或任务管理的详尽阐述,涵盖利用横道图来制定和展示项目的时间进程,以及可能牵涉的周期性作业调度或资源配置情形。 文件或许包含以下部分:1. **项目简介**:阐述项目的目标、范畴、预期成效及参与项目的团队成员。 2. **横道图详述**:具体列出了项目中的各项任务,每个任务的启动与终止时间,以及它们之间的关联性。 横道图通常涵盖关键节点,这些节点是项目中的重要事件,象征重要阶段的实现。 3. **任务配置**:明确了每个任务的责任归属,使项目成员明晰自己的职责和截止日期。 4. **进展更新**:若文件是动态维护的,可能会记录项目的实际进展与计划进展的对比,有助于识别延误并调整计划。 5. **周期表探讨**:深入说明了周期性作业的调度,如定期的会议、报告递交、...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值