b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

pascal 视频教程_pascal和basic_pascal选择排序(77)

电脑杂谈  发布时间:2016-12-28 07:02:37  来源:网络整理

当使用类引用来调用构造函数时,若执行过程中发生了异常,则自动调用析构函数整的对象。

当使用对象引用来调用构造函数时(而不是使用类引用),数作用在指定的对象上,它只是执行构造函数中的命令语句,然后返回一个对象的引用(是怎样的对象引用,和调用它的一样吗?)。使用对象引用来调用构造函数时,通常和关键字用一个继承的构造函数。

下面是一个类和构造函数的例子。 type

T1.Test

0,把nilRTTI信息要求每一个公布Overloading Create。 Destroy来销毁不完取而代之的是,构造函inherited一起使用来调- 105 -

赋给所有的指针和类类型的字段,它不是创建一个对象;

Classes and objects

TShape = class(TGraphicControl)

private

FPen: TPen;

FBrush: TBrush;

procedure PenChanged(Sender: TObject);

procedure BrushChanged(Sender: TObject);

public

constructor Create(Owner: TComponent); override;

destructor Destroy; override;

...

end;

constructor TShape.Create(Owner: TComponent);

begin

inherited Create(Owner); // 初始化继承下来的部分

Width := 65;// 改变继承下来的属性

Height := 65;

FPen := TPen.Create; // 初始化新字段

FPen.OnChange := PenChanged;

FBrush := TBrush.Create;

FBrush.OnChange := BrushChanged;

end;

构造函数的第一步,通常是调用继承下来的构造函数,对继承的字段进行初始化;然后对派生类中新引入的字段进行初始化。因为构造函数总是把为新对象分配的内存进行“清零”

有字段开始时都是0(有序类型)、nil(指针和类)、空(字符串)或者

除非字段的值不为0或者空值,我们没必要在构造函数中初始化各字段。

当使用类标志符调用构造函数时,声明为虚方法的构造函数和声明为静态时是相同的。但是,当和类引用(class-reference)结合使用时,虚构造函数允许使用多态,也就是说,在编译时,对象的类型是未知的(参考Class references)。

Destructors(析构函数)

析构函数是一个特殊的方法,用来销毁调用的对象并且释放它的内存。声明一个析构函数就像声明一个过程,但以destructor开头。比如:

destructor Destroy;

destructor Destroy; override;

析构函数必须使用默认的register调用约定。虽然一个类的析构函数可以不止一个,但推荐每个类覆盖继承下来的Destroy方法,并不再声明其它析构函数。

要调用析构函数,必须使用一个实例对象的引用。比如,

MyObject.Destroy;

当析构函数被调用时,它里面的命令首先被执行,通常,这包括销毁所有的嵌入对象以及释放为对象分配的资源;接下来,为对象分配的内存被清除。

下面是一个析构函数实现的例子:

destructor TShape.Destroy;

begin

FBrush.Free;

FPen.Free;

- 106 - (clear)Unassigned(变体类型) ,所以,对象的所。所以,


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-23665-77.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...