Summary
In this chapter, we covered the main goals of the Kotlin programming language. We learned how variables are declared, the basic types, null
safety, and type inference. We observed how program flow is controlled by commands such as if
, when
, for
, and while
, and we also took a look at the different keywords used to define classes and interfaces: class, interface, data
class, and abstract
class. We learned how to construct new classes and how to implement interfaces and inherit from other classes. Finally, we covered what design patterns are suitable for and why we need them in Kotlin.
Now, you should be able to write simple programs in Kotlin that are pragmatic and type-safe. There are many more aspects of the language we need to discuss. We'll cover them in later chapters once we need to apply them.
In the next chapter, we'll discuss the first of the three design pattern families – creation patterns.