ABSTRACT

Form affects function, in terms of ease of use and maintainability. In this chapter, we examine the design and documentation of so- ware, using the class construct as the focal point of design. Promoting internal control of state, we cover essential functions of a class: constructors, destructors, accessors, mutators, and private utility functions. We note language dierences when important. e intent is to scaold so- ware design on top of class construction, emphasizing the separation of internal elements from the external interface. We also present an eective means of documenting design, the specication of a contract between the class designer and the users of a class.