Summary
In this chapter, you learned how to recognize real-world elements and translate them into the different components of the object-oriented paradigm supported in Java 9: classes, fields, methods, and instances. You understood that the classes represent blueprints or templates to generate the objects, also known as instances.
We designed a few classes with fields and methods that represent blueprints for real-life objects, specifically, 2D shapes. Then, we improved the initial design by taking advantage of the power of abstraction and specialized different classes. We generated many versions of the initial UML diagram as we added superclasses and subclasses. We understood the application domain and we made changes to the original design as our knowledge increased and we realized we were able to generalize behavior.
Now that you have learned some of the basics of the object-oriented paradigm, we are ready to start creating classes and instances in Java 9 with JShell, which is what we are going to discuss in the next chapter. It is time to start object-oriented coding!