On 21.03.2013 21:40, Hans-Peter Diettrich wrote:
Sven Barth schrieb:
On 21.03.2013 21:15, Hans-Peter Diettrich wrote:
Sven Barth schrieb:

 > Interface delegation is something different from multiple
inheritance. The interface implementor and the interfaced object then
have nothing in common, the methods of the implementor cannot access
elements of the interfaced object.

But with only interfaces you inherit merely the syntactical
"interface" while with delegation you can also reuse an existing
implementation for that interface.

Use an object (class instance) for the same purpose, and you don't have
to write additional code as well.

Interfaces are there to abstract away the implementation,

No, that's only a side-effect.

In some sense you are right: Their main purpose is to provide a contract between the implementor and the consumer so that they can communicate, thus the abstraction is indeed only a side effect. See also: http://en.wikipedia.org/wiki/Interface_%28object-oriented_programming%29

because you'll only have access to those methods that the interface
defines.

You also have access only to the public methods of a class.
>

But the public methods can be a superset of the methods provided by the interface or the interface methods could only be implemented in private.

Regards,
Sven

--
_______________________________________________
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to