一、函数相关
1、函数形式参数
参数列表 = 参数声明[;参数声明;......]
参数声明 = [var/const/out] Identifier[:IdentifierType]
值参数:传值的方式传递参数,传递实际参数的副本
变量参数(var):引用的方式传递参数,传递实际参数的地址
常量参数(const):传值的方式传递参数,但参数值不可更改
外部参数(out):引用的方式传递参数,但参数初始值丢弃,只提供输出
注意:
(1)只有值参数必须明确类型,其他三种可有可无。
(2)开放数组类型:
function/procedure Name(Params1,Params2,...:array of ParamType)..;
Name([...,...,...]); //常量数组
Name(数组名);
2、函数调用模式保留字
说明:默认模式为register
| 保留字 | 参数调用顺序 | 栈(参数)清空方式 | 寄存器传递参数 |
|---|---|---|---|
| register | 左-->右 | 程序自动清空 | 是 |
| pascal | 左-->右 | 程序自动清空 | 否 |
| cdecl | 右-->左 | 调用者清空 | 否 |
| stdcall | 右-->左 | 程序自动清空 | 否 |
| safecall | 右-->左 | 程序自动清空 | 否 |
二、类与对象相关
1、类成员
field(域,F开头的变量)
|---procedure(过程)
method(方法)---------|
|---function(函数)
|---read
|---write
property(属性) -------|---stored
|---default/nodeault
|---implements
2、几个概念
类的变量:不是一个对象,而是一个指向具体类的对象的指针
类的对象:create构造方法创建的一个内存数据块
self:所有对象的方法中都有的一个隐含变量,由编译器作为隐含参数传递给方法
3、类特性
|---private(只对本类及派生类可见)
|---protected(只对本类及派生类可见)
封装性(存取控制符)---|---published(公有的,使用单元文件后即可用,对象观察器中的内容)
|---public(公有的,使用单元文件后即可用)
|---automated(公有的,自动化类型信息)
继承性:单根型继承,所有的类均发源于TObject
多态性(virtual、dynamic、abstract/override)
4、类方法及常用相关保留字
(1)类的方法有4种:static、virtual、dynamic和message。
(2)保留字的使用
static:默认
virtual:可被覆盖
dynamic:可被覆盖
override:覆盖父类virtual或dynamic方法,多态相关
abstract:抽象方法,没有实现代码,必须与virtual或dynamic配合使用
reintroduce:与重定义方法类似,但效率要高
overload:方法重载
message:消息处理
本文详细介绍了函数参数的类型和调用模式,包括参数的传递方式(传值、变量参数、常量参数和外部参数),以及类的成员构成(如字段、方法、函数、属性等)。此外,还阐述了类的特性,包括封装性、继承性和多态性,并解释了类方法的使用(如静态、虚拟、动态和消息处理)。通过深入解析这些核心概念,读者能够更好地理解和应用面向对象编程的基本原理。
9576

被折叠的 条评论
为什么被折叠?



