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 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access