This chapter introduces the object-oriented approach to software development. Section 1.1 discusses the software development process and the idea of encapsulation: dividing a program into distinct components which have limited interaction. In Sections 1.2 and 1.3, we develop a program to play the game of Beetle. Section 1.2 introduces terminology and concepts related to objects as we write a class to model the die used in the game. Section 1.3 expands on this, developing two more classes to complete the program.
Some readers may wish to read Appendix A before beginning this chapter.