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

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

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

type

TFigure = class(TObject);

TRectangle = class(TFigure);

TSquare = class(TRectangle);

var

Fig: TFigure;

变量Fig能被赋予TFigure、TRectangle和TSquare类型的值。

Object types(Object类型)

除了类类型,你可以使用如下语法声明一个object类型

type objectTypeName = object (ancestorObjectType)

memberList

end;

这里,objectTypeName是任何有效标志符,(ancestorObjectType)是可选的,memberList声明字段、方法和属性。若(ancestorObjectType)被省略了,则新类型没有祖先。Object类型不能有published成员。 因为object类型不是从TObject继承,它们没有内置的构造函数和析构函数,也没有其它方法。你能使用New过程创建Object类型的实例,并使用Dispose过程销毁它们,你也可以像使用记录一样,采用简单方式声明object类型的变量。

Object类型只是为了向后兼容性,不推荐使用它们。

Visibility of class members(类成员的可见性)

Visibility of class members(类成员的可见性)

类的每个成员都有一个称为可见性的属性,我们用下面的关键字之一来表示它:private、protected、public、published和automated。比如

published property Color: TColor read GetColor write SetColor;

声明一个叫做Color的published属性。可见性决定了一个成员在哪些地方以及如何能被访问,private表示最小程度的访问能力,protected表示中等程度的访问能力,public、published和automated表示最大程度的访问能力。

若声明一个成员时没有指定其可见性,则它和前面的成员拥有相同的可见性;若在类声明的开始没有指定可见性,当在{$M+}状态下编译类时(或者继承自一个在{$M+}状态下编译的类),它的默认可见性是published,否则,它的可见性是public。

为可读性考虑,最好在声明类时用可见性来组织成员:把所有的private成员组织在一起,接下来是所有的protected成员,依此类推。用这种方法,每个可见性关键字最多出现一次,并且标明了每个新段的开始。所以,一个典型的类声明应该像下面的形式:

type

TMyClass = class(TControl)

- 97 -

Classes and objects

private

... { private declarations here}

protected

... { protected declarations here }

public

... { public declarations here }

published

... { published declarations here }

end;

通过重新声明,你可以在派生类中增大一个成员的可见性,但你不能降低它的可见性。比如,一个protected属性在派生类中能被改变为public,但不能改为private。还有,published成员在子类中不能改为public。要了解更多信息,请参考Property overrides and redeclarations。


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

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

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