[Lazarus] IUnknown and reference counting
Hans-Peter Diettrich
DrDiettrich1 at aol.com
Thu Mar 21 21:40:10 CET 2013
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.
> 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.
> This
> allows for low coupling between components and thus for an improvement
> of code testability and maintainability.
Decoupling is correct, interfaces can help to break cyclic unit references.
DoDi
More information about the Lazarus
mailing list