On Mon, 14 Aug 2006, Martin Schreiber wrote:

On Sunday 13 August 2006 13.27, Marco van de Voort wrote:
It is ugly, produces warnings and is possibly forbidden in FPC 2.1.1 (I
don't know). A more elegant solution would be to have something like
'friend units' where protected class members are visible:

I wonder what the use of making a private/public/protected distinction is
in the first place, if USES'ing units can override it at will.


In a tool library:

public -> interface for the library users, use it without knowledge of the
internals.

protected -> interface for the library developers, use it if you know what you
do. Use strict protected if you want to secure encapsulate things.

private -> secure encapsulated class items.

Note that I had to use 'cracker classes' in MSEgui to access private FPC class
items to implement workarounds...
I must repeat:
It is not possible to develop a complex system in a clean single class
hierarchy, especially not if you use foreign units which are not under your
control . I know it because I tried it...

No. It just means the classes are designed wrong.

If you need to access directly private class fields, I think there are serious design flaws in your code.

Michael.
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to