Delegating Interface Implementation

Delegation without the mystification — an introduction to composition, the delegation pattern, and how Kotlin makes both of them easy, with non-trivial examples

Gabriel Shanahan
The Kotlin Primer

--

— — — — — — — — — — — — — — —

THE CURRENT VERSION OF THIS ARTICLE IS PUBLISHED HERE.

— — — — — — — — — — — — — — —

Tags: #FUNDAMENTAL CONCEPT #EXERCISE

This article is part of the Kotlin Primer, an opinionated guide to the Kotlin language, which is indented to help facilitate Kotlin adoption inside Java-centric organizations. It was originally written as an organizational learning resource for Etnetera a.s. and I would like to express my sincere gratitude for their support.

It is recommended to read the Introduction before moving on. Check out the Table of Contents for all articles.

One of the problems with composition (which you should often prefer over inheritance) is the verbosity related to accessing the underlying interfaces.

For example, consider the following FileSystemManager and DatabaseManager interfaces:

--

--