This chapter covers a lot of material. You have seen how to design and write code for your own classes. You have examined some of the access specifiers you need when you write the class interface. You have explored class constructors and how you can overload them to meet special needs when an instance of a class object is created. You have also learned how objects are destroyed and how their resources are reclaimed by the garbage collection process. Finally, you have learned how to place the code for an object into a class library so it can be reused in other programs.
It is probably obvious to you that designing and writing code for class libraries is a very important part of the software development process. Because of this importance, I encourage you to design, write, and test a new class of your own creation before moving on to the next chapter. It is very easy to feel confident that you understand a new concept when everything is laid out in front of you. It is entirely different, however, to start with a blank screen and repeat the process from scratch with a new class. Please take the time to experiment with the concepts presented in this chapter before you start the next chapter. Doing so will return great dividends in the long run.