开关
?$G? 作用 referencing variables in other packages.
Specifies the directory where the compiled package file will be placed.
Specifies the directory where the package dcp file will be placed
Specifies additional runtime packages to use in an application. Used when
compiling a project.
Prevents a package from being implicitly recompiled later. Use when compiling
packages that provide low-level functionality, that change infrequently between
builds, or whose source code will not be distributed. ?LE path ?LN path ?LU packageName [;packageName2;…] ?Z
使用?G?开关能防止一个包和其它包用于同一个程序中。
如果合适,编译包时其它命令行选项也可以使用。
- 139 -
Object inteces
Object inteces(对象接口)
Object inteces: Overview(概述)
对象接口(或简单地说接口)定义了能被一个类实现的方法。接口声明和类相似,但不能直接实例化它,也不能自己实现(定义)它们的方法,而是由支持接口的任何类来提供实现。一个接口类型的变量能引用一个实现了此接口的对象,但是,只有接口中声明的方法才能通过这个变量进行调用。
接口提供了一些多继承的好处,却没有多继承带来的语义困难。它们对使用分布式对象模型()也是非常有效的,定制的、支持接口的对象可以和其它语言(比如C++、Java和其它语言)编写的对象进行交互。
Intece types(接口类型)
Intece types: Overview(概述)
像类一样,接口只能在程序或单元的最外层声明,而不能在过程或函数中声明。一个接口类型的声明有如下格式
type inteceName = intece (ancestorIntece)
['{GUID}']
memberList
end;
这里,(ancestorIntece)和['{GUID}']是可选的。在大多数方面,接口声明和类声明类似,但有以下限制:? memberList只包括方法和属性,字段在接口中是不允许的;
? 因为接口没有字段,所以属性的读(read)和写(write)限定符必须是方法;
? 接口的所有成员都是公有的(public),不允许使用可见性限定符和存储限定符(但一个数组属性能
被声明为default);
? 接口没有构造函数和析构函数,它们不能被(直接)实例化,除非使用实现了它们(的方法)的类;? 方法不能被声明为virtual、dynamic、abstract或override。因为接口自己不实现它们的方法,这些
声明没有意义。
这里是个接口声明的例子:
type
IMalloc = intece(IIntece)
['{00000002-0000-0000-C000-000000000046}']
function Alloc(Size: Integer): Pointer; stdcall;
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-23665-105.html
忍不住转