In this chapter, we will introduce a new way of programming that we have not explicitly used before in the book. It's called object-oriented programming, and it will be used throughout our third and final example in the book. Object-oriented programming is very popular among programmers, and it's mainly used to allow for complex abstraction relations to be modeled and implemented in such a way that the evolution of the system is not jeopardized.
When developing object-oriented systems, and in general when we program, we should strive for simplicity, but it doesn't come naturally. When dealing with a complex domain, it's easier to create complex rather than simple code. Programmers must make ...