[fpc-pascal] Implementing Factory Method with Pascal
Graeme Geldenhuys
mailinglists at geldenhuys.co.uk
Sat Nov 28 10:09:38 CET 2015
Hi Anthony,
On 2015-11-28 00:16, Anthony Walter wrote:
> type
> IBarkable = interface(IInterface)
> ['{B241068F-2ED9-43C7-066B-778B94CB58F9}']
> procedure Bark;
> end;
> ...snip...
That is a much better solution for what Luciano wants to accomplish.
> and later ...
>
> if Animal is IBarkable then (Animal as IBarkable).Bark;
This is not good usage of Interfaces. Use the interface variable instead.
var
intf: IBarkable
begin
if Supports(Animal, IBarbable, intf) then
begin
intf.Bark;
// you can continue here using intf further without casting
end;
Regards,
- Graeme -
--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/
My public PGP key: http://tinyurl.com/graeme-pgp
More information about the fpc-pascal
mailing list