Chapter 4 - Meskauskas personal pages
Download
Report
Transcript Chapter 4 - Meskauskas personal pages
Chapter 4: Writing Classes
Presentation slides for
Java Software Solutions
for AP* Computer Science A
2nd Edition
by John Lewis, William Loftus, and Cara Cocking
© 2006 Pearson Education
Writing Classes
We've been using predefined classes. Now we will
learn to write our own classes to define objects
Chapter 4 focuses on:
•
•
•
•
•
•
class definitions
encapsulation and Java modifiers
method declaration, invocation, and parameter passing
method overloading
method decomposition
graphics-based objects
© 2006 Pearson Education
2
Objects
An object has:
• state - descriptive characteristics
• behaviors - what it can do (or what can be done to it)
For example, consider a coin that can be flipped so
that it's face shows either "heads" or "tails"
• state = (heads or tails)
• behavior = can be flipped
Note that the behavior of the coin might change its
state
© 2006 Pearson Education
3
Classes
A class is a blueprint of an object
It is the model or pattern from which objects are
created
For example, the String class is used to define
String objects
Each String object contains specific characters (its
state)
Each String object can perform services (behaviors)
such as toUpperCase
© 2006 Pearson Education
4
Classes
The String class was provided for us by the Java
standard class library
But we can also write our own classes that define
specific objects that we need
For example, suppose we want to write a program
that simulates the flipping of a coin
We can write a Coin class to represent a coin object
© 2006 Pearson Education
Classes
A class contains data declarations and method
declarations
int x, y;
char ch;
Data declarations
Method declarations
© 2006 Pearson Education
The Coin Class
In our Coin class we could define the following data:
• face, an integer that represents the current face
• HEADS and TAILS, integer constants that represent the two
possible states
We might also define the following methods:
• a Coin constructor, to initialize the object
• a flip method, to flip the coin
• a isHeads method, to determine if the current face is heads
• a toString method, to return a string description for
printing
© 2006 Pearson Education
The Coin Class
See CountFlips.java (page 199)
See Coin.java (page 200)
Note that the CountFlips program did not use the
toString method
A program will not necessarily use every service
provided by an object
Once the Coin class has been defined, we can use it
again in other programs as needed
© 2006 Pearson Education
Data Scope
The scope of data is the area in a program in which
that data can be used (referenced)
Data declared at the class level can be used by all
methods in that class
Data declared within a method can be used only in
that method
Data declared within a method is called local data
© 2006 Pearson Education
Instance Data
The face variable in the Coin class is called instance
data because each instance (object) of the Coin
class has its own
A class declares the type of the data, but it does not
reserve any memory space for it
Every time a Coin object is created, a new face
variable is created as well
The objects of a class share the method definitions,
but each has its own data space
That's the only way two objects can have different
states
© 2006 Pearson Education
Instance Data
See FlipRace.java (page 203)
© 2006 Pearson Education