Java Reference
In-Depth Information
EXAMPLE: (continued)
Note that there is a difference between what we might call the inside view and the
outside view of the class DateFifthTry . A date such as July 4, 1776, is represented
inside the class object as the string value “July” and the two int values 4 and 1776 .
But if a programmer using the same class object asks for the date using getMonth ,
getDay , and getYear , he or she will get the three int values 7 , 4 , and 1776 . From
inside the class, a month is a string value, but from outside the class, a month is
an integer. The description of the data in a class object need not be a simple direct
description of the instance variables. (To further emphasize the fact that the month
has an inside view as a string but an outside view as a number, we have written the
method readInput for the class DateFifthTry so that the user enters the month as
an integer rather than a string.)
Note that the method definitions in a class need not be given in any particular
order. In particular, it is perfectly acceptable to give the definition the method
dateOK after the definitions of methods that use dateOK . Indeed, any ordering of the
method definitions is acceptable. Use whatever order seems to make the class easiest
to read. (Those who come to Java from certain other programming languages should
note that there is no kind of forward reference needed when a method is used before
it is defined.)
Self-Test Exercises
15. Following the style guidelines given in this topic, when should an instance
variable be marked private ?
16. Following the style guidelines given in this topic, when should a method be
marked private ?
Accessor and Mutator Methods
You should always make all instance variables in a class private. However, you may
sometimes need to do something with the data in a class object. The special-purpose
methods, such as toString , equals , and any input methods, will allow you to
do many things with the data in an object. But sooner or later you will want to do
something with the data for which there are no special-purpose methods. How can you
do anything new with the data in an object? The answer is that you can do anything
that you might reasonably want (and that the class design specifications consider to
be legitimate), provided you equip your classes with suitable accessor and mutator
methods. These are methods that allow you to access and change the data in an object,
usually in a very general way. Accessor methods allow you to obtain the data. In
Display 4.9 , the methods getMonth , getDay , and getYear are accessor methods. The
accessor
methods
 
Search WWH ::




Custom Search