Team LiB
Previous Section Next Section

What Is an Object?

Before we talk about software objects, let's talk about real-world objects in general. According to Merriam-Webster's Collegiate Dictionary, an object is


(1) Something material that may be perceived by the senses; (2) something mental or physical toward which thought, feeling, or action is directed.

The first part of this definition refers to objects as we typically think of them: as physical "things" that we can see and touch, and which occupy space. Because we intend to use the Student Registration System (SRS) case study as the basis for learning about objects throughout this book, let's think of some examples of physical objects that make sense in the general context of an academic setting, namely

and on and on. Of course, while all of these types of objects are commonly found on a typical college campus, not all of them are relevant to registering students for courses, nor are they all necessarily called out by the SRS case study, but we won't worry about that for the time being. In Part Two of this book, you'll learn a technique for using a requirements specification as the basis for identifying which types of objects are relevant to a particular abstraction.

Now, let's focus on the second half of the definition, particularly on the phrase "something mental toward which thought, feeling, or action is directed." There are a great many conceptual objects that play important roles in an academic setting; some of these are

and, of course, many others. Even though we can't see, hear, touch, taste, or smell them, conceptual objects are every bit as important as physical objects are in describing an abstraction.

Let's now get a bit more formal, and define a software object:

Let's explore the two sides of objects—their state and behavior—separately, in more depth.

Team LiB
Previous Section Next Section