[fpc-pascal] class declaration questions
Mattias Gaertner
nc-gaertnma at netcologne.de
Fri Oct 12 23:49:34 CEST 2007
On Fri, 12 Oct 2007 22:58:46 +0200
Vincent Snijders <vsnijders at quicknet.nl> wrote:
> Marc Santhoff schreef:
> > Hi,
> >
> > the reference manual is not explicitly clear in describing class
> > declarations. Is it true for classes as for objects that the first
> > block of components after the class header are visible as if
> > declared public?
> >
> > E.g.
> >
> > TAnyClass = class
> > fField:anytype;
> > end;
> >
> > would make fField visible "public"?
>
> It would be "published".
Classes with RTTI information use published, otherwise public.
See the {$M+} switch, for example TPersistent.
> >
> > And one other question:
> > Does object pascal allow a class declaration marked as an abstract
> > class? Like in java for making sure the class can never be
> > instantiated itself, only it's descendants can be?
> >
> > Smth. like:
> >
> > TAnyClass = abstract class(...)
> > ...
> > end;
>
>
> AFAIK, not.
No.
Just add abstract methods and you will get compiler warnings when
instantiating such a class.
Mattias
More information about the fpc-pascal
mailing list