Team LiB
Previous Section Next Section

Behavior/Operations/Methods

Now, let's revisit the same two types of object—a student and a course—and talk about these objects' respective behaviors. A student's behaviors (relevant to academic matters, that is!) might include

It's a bit harder to think of an inanimate, conceptual object like a course as having behaviors, but if we were to imagine a course to be a living thing, then we can imagine that a course's behaviors might include

and so on.

When we talk about software objects specifically, we define an object's behaviors, also known as its operations, as both the things that an object does to access its attributes (data), and the things that an object does to modify/maintain its attribute values (data).

If we take a moment to reflect back on the behaviors we expect of a student as listed previously, we see that each operation involves one or more of the student's attributes. For example:

Since we recently learned that the collective set of attribute values for an object defines its state, we now can see that operations are capable of changing an object's state. Let's say that we define the state of a student who hasn't yet selected a major field of study as an "undeclared" student. Asking such a student object to perform its "choosing a major field of study" method will cause that object to update the value of its "major field of study" attribute to reflect the newly selected major field. This, then, changes the student's state from "undeclared" to "declared".

Yet another way to think of an object's operations are as services that can be requested of the object. For example, one service that we might call upon a course object to perform is to provide us with a list of all of the students who are currently registered for the course (i.e., a student roster).

When we actually get around to programming an object in a language like C#, we refer to the programming language representation of an operation as a method, whereas, strictly speaking, the term "operation" is typically used to refer to a behavior conceptually.


Team LiB
Previous Section Next Section