In this chapter, we looked at the delegation pattern and its types. We used the class delegation feature as a good alternative to inheritance. We learned how to create a new delegated property and how delegates from the Kotlin standard library work under the hood. Kotlin supports the delegation pattern as a language-level feature that allows you to write simple and reliable code.
In the next chapter, we'll learn how to work with ranges and identify performance issues.