January 2017
Intermediate to advanced
420 pages
9h 25m
English
Recursive type bounds has a catchy name and sounds rather complicated, but it is actually intuitive once explained. It is an extension of bounded polymorphism, and describes a type that includes one or more type parameters, where at least one of the type parameters uses the type itself.
All will become clearer with an example. Let's say we are writing an API for accounts in a financial system. We want to define an Account object, and we want to be able to sort all types of account, but with the restriction that we only want to be able to sort accounts of the same type. The first step is defining the interface for our accounts, and a couple of concrete implementations:
interface Account { val balance: BigDecimal } data class ...Read now
Unlock full access