In Chapter 2 we dived straight into the principles of object orientation, the method of representing concepts in Ruby by using classes and objects. Since then we've looked at Ruby's standard classes, such as
Array; worked with them; and then branched off to look at Ruby's logic and other core features.
In this chapter the focus is back onto object orientation, but rather than looking at the concepts from afar, we'll be getting into the details. We'll look at why classes and objects behave the way they do, why object orientation is a viable development tool, how you can implement classes to match your own requirements, and how to override and extend the classes Ruby provides by default. Finally, ...