方法是在类中定义的且包装在类中的函数或过程,用于执行类的操作,完成类的任务。一个类的方法决定了通过这个类创建的实例行为,
一个类的所有方法决定了这个实例所执行的功能。类中的所有函数或过程都可以成为类的方法。
在Delphi 中子程序包含过程和函数两种表现形式,而方法通过这两种形式演变出 6种不同的形态。
(1)过程方法和函数方法:
依附于某个特定的类,在某个类的声明中定义并根据可见性进行调用,如果过程方法或函数方法被声明成私有的,则他只能在这个类的实例中调用。
与一般过程和函数一样,过程方法没有返回值,函数方法具有返回值。
(2)构造方法与析构方法:
主要作用就是用于创建和释放类的对象,参考类和对象(一)有记录。
(3)类过程方法和类函数方法:
类过程方法和类函数方法与过程方法和函数方法基本相同,不同的地方在于过程方法和函数方法必须在类的某个对象实例化之后才可使用。
而类过程方法和类函数方法的操作对象不是类的对象而是类本身,所以不用通过对象来引用,类本身就可以引用类过程方法和类函数方法。
当一个类的对象经常要调用类中的一个方法时,而这个方法又不需要使用类中所定义的变量,就可以将这个方法定义为类方法。
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs; type TForm1 = class(TForm) private { Private declarations } public { Public declarations } class function GetformName: String; class procedure SetFormName(FormName: string); end; var Form1: TForm1; implementation {$R *.dfm} { TForm1 } class function TForm1.GetformName: String; begin Result:= Form1.Name; end; class procedure TForm1.SetFormName(FormName: string); begin Form1.Name:= FormName; end; end.
每个类中的方法都有一个隐含的名为Self 的指针,该指针在对象被创建时才有效,而且类会为每一个对象都分配一个Self 指针。这样对象调用类中的方法时就会通过Self 指针调性调用,
相互之间才不会受到影响。