Records
in Pascal are user-defined variables that can hold many different items within them. Extended records
were introduced by Delphi 2005 to support one of the features introduced by .NET.
They are somewhat similar to objects
and classes
because they have methods and properties associated with them.
However, extended records
are not objects in the true sense because they do not support inheritance and polymorphism.
There are other notable differences between extended records
and objects
as well. You cannot have constructors and destructors in extended records
, and methods cannot be virtual or abstract. Additionally, any class methods in extended records
must be defined with the static
keyword.
Extended records
are defined much the same way as regular records
in Pascal.
ExtRecord = record
myVar : integer;
function foo(flag: Boolean): Integer;
end;
You can have visibility specifiers and properties in extended records
, as follows:
ExtRecord = record
private
a,b : integer;
public
procedure setA(val : integer);
property SafeA : Integer Read A Write SetA;
end;
Extended records
support enumerators, and operators can also be defined on them.
Free Resources