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

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

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

Private, protected, and public members(私有、受保护和公有成员)

Private成员在声明它的单元或程序之。 Protected成员在声明它的类的模块中是随处可用的,并且在它的派生类中也是可用的,而不管派生类出现在哪个模块。换句话说,在派生类的所有方法定义中,你可以调用protected方法,也能读取或写入protected字段或属性。只有在派生类的实现中才应用的成员通常使用protected属性。

对于public成员,只要能使用类的地方都是可用的。

Published members(公布的成员)

Published成员和public成员具有相同的可见性,不同之处是published成员会产生RTTI信息。RTTI使应用程序能动态查询一个对象的字段和属性,也能定位它的方法。RTTI用于在存储文件和从文件导入时访问属性的值,也用于在Object Inspector中显示属性,并且能为一些特定属性(叫做事件)关联特定的方法(叫做事件处理程序)。

公布属性的数据类型受到限制,有序类型、字符串、类、接口和方法指针能被公布;当集合类型的基础类型是有序类型,并且上界和下界介于0到31之间时(换句话说,集合必须符合byte、word或double word),集合类型也是可以公布的;除了Real48,任何实数类型都是可以公布的;数组类型的属性(区别于数组属性,array properties)不能是公布的。

一些属性虽然是可以公布的,但不能完全支持流系统,它们包括:记录类型的属性、所有可公布类型的数组属性以及包含匿名值的枚举类型的属性。如果published属性属于前面所述的类型,Object Inspector不能正确显示它们,并且使用流向磁盘操作时也不能保存它们的值。

所有方法都是可以公布的,但一个类不能使用相同的名字公布两个或以上数目的被重载的方法。只有当字段属于类或接口类型时,它才是可以公布的。

A class cannot have published members unless it is compiled in the {$M+} state or descends from a class compiled in the {$M+} state. Most classes with published members derive from TPersistent, which is compiled in the {$M+} state, so it is seldom necessary to use the $M directive.

除非一个类是在{$M+}状态下被编译,或者派生于一个在{$M+}状态下被编译的类,否则它不能有公布的成员。大多数具有公布成员的类继承自TPersistent,而它是在{$M+}状态下被编译的,所以通常很少使用$M编译器指示字。

- 98 -

Classes and objects

Automated members(自动化成员)

Automated成员和public成员具有相同的可见性,不同之处是automated成员会产生自动化类型信息(Automation type information,自动化服务器需要)。Automated成员只出现在Windows类中,不推荐在Linux程序中使用。保留关键字automated是为了向后兼容性,ComObj单元的TAutoObject类不使用自动化成员。


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

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

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