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

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

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

类方法是作用在类而不是对象上面的方法(不同于构造函数)。类方法的定义必须以关键字class开始,比如,

type

TFigure = class

public

class function Supports(Operation: string): Boolean; virtual;

class procedure GetInfo(var Info: TFigureInfo); virtual;

...

end;

类方法的定义部分也必须以class开始,比如,

class procedure TFigure.GetInfo(var Info: TFigureInfo);

begin

...

end;

在类方法的定义部分,Self表示调用方法的类(which could be a descendant of the class in which it is defined,它或许是定义方法的类的一个派生类)。若使用类C调用方法,Self的类型是class of C(元类)。所以,你不能使用Self访问字段、属性和平常的方法(由对象调用的方法),但能调用构造函数和其它类方法。

类方法既可以通过类引用来调用,也可以使用对象,当使用后者时, Self值等于对象所属的类。

- 115 -

Classes and objects

Exceptions(异常) Exceptions: Overview(概述)

当发生错误或其它事件而打断了程序的正常执行时,将引发一个异常。异常把控制权交给一个异常处理程序(exception handler),这使我们把错误处理和正常的程序逻辑隔离开来。因为异常属于对象,我们可以应用继承关系把它们分层组织,在不影响现有代码的情况下能引入新的异常。异常能传送一些信息(比如错误消息),把它们从异常发生点带到被处理的地方。

当程序使用SysUtils单元时,所有的运行时错误都将被转换为异常,否则,像内存不足、被零除、GPF(general protection fault)等错误会终止程序,而现在它们能被捕获并进行处理。When to use exceptions(何时使用异常)异常提供了一种优雅的方式来捕获运行时错误,而不是挂起程序和使用笨拙的条件语句。但是,Pascal异常处理机制的复杂性降低了它的效率,所以应当酌情使用。虽然(几乎)能以任何原因引发一个异常,也可以把(几乎)任何代码段使用try...except把它们用在特殊情况。

异常处理程序适用于以下几种情况:发生几率比较低或难以预料、但结果却是灾难性(比如程序崩溃)的错误;对于if...then语句来说,错误条件非常复杂或难以判断;当需要响应操作系统引发的异常,或一些你不能得到源码而又必须对它们的异常做出响应的例程。异常通常用在硬件、内存、统错误。

条件语句经常是判断错误的最好方式。比如,假设你要在打开一个文件之前先确定它是否存在,你以下面的方式实现它:

try

AssignFile(F, FileName); Reset(F); // 若没有发现文件则引发一个except

on Exception do ... end;

但你也可以使用下面的方式来避免异常处理的开销 if FileExists(FileName) then // 若没有发现文件则返回begin

AssignFile(F, FileName); Reset(F); end;

Assertions提供了另一种方式,使你在源代码的任何地方判断一个布尔条件。当一个程序或者挂起,或者引发一个EAssertionFailed异常(若它使用不期望发生的条件时,你才应该使用Assertions。要了解更多信息,请参考帮助中的procedure Assert。


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

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

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