Name
Class Keyword
Syntax
typeName
= classDeclarations
... class function ...; class procedure...; end; typeName
= class(BaseClass
) ... end; typeName
= class(BaseClass
); typeForwardDeclaredName
= class; typeName
= class(BaseClass
,Interface name
...)Declarations
... end; typeName
= packed class... typeMetaClass
= class ofClass type
;
Description
The class
keyword
introduces a class declaration, and it starts the declaration of a
class method. If a semicolon appears immediately after the
class
keyword, the declaration is a forward
declaration: it tells the compiler that the type name is a class
type, but provides no other information about the class. You must
have a complete class declaration later in the same type declaration
block.
The last example above shows the declaration of a metaclass type. A
variable of metaclass type can store a class reference. You can use
this variable in any expression that calls for a class reference,
such as calling a constructor or class method, or as the right-hand
argument to an is
operator. (The
as
operator, on the other hand, requires a static
class name, not a variable class reference because it performs a type
cast, and the compiler must know the target type.)
A class declaration must have a single base class and can have any
number of interfaces. If you omit the base class, Delphi uses
TObject
. If you want to list any interfaces, you
must supply the name of a base class, even if that name is
TObject
.
A class declaration contains zero or more ...
Get Delphi in a Nutshell now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.