Beginning Java Objects: Chapter 3 Objects and Classes
Classes as Abstract Data Types
In a non-OO programming language such as C, the statement
int x;
is a declaration that variable 'x' is an integer, one of several
simple, built-in data types defined to be part of the C (C++, Java) language.
What does this really mean? It means that:
- '
x' is a symbolic name that represents an integer value.
- The 'thing' that we have named '
x' understands how to respond to a number of different
operations such as addition (+), subtraction (-), multiplication (*), division (/), logical
comparisons (>, <, =), and so on that have been defined for the int data type.
- Whenever we want to operate on this particular integer value in our program, we refer
to '
x' instead:
if (x > 17) x = x + 5;
In an object-oriented language like Java, we can define a class such as Student, and then declare
a variable as follows:
Student y;
What does this mean? It means that:
'y' is a symbolic name that refers to a Student object/instance.
Note the parallels between x as an int in the previous example and y as a Student above. Just as
int is referred to as a simple, or built-in, data type in a language like C or Java, we can refer to a user-
defined class such as Student as an abstract data type (ADT): that is, a user-defined data type that
specifies structure as well as behavior. It is called 'abstract' because a class is an abstraction of a real-
word object that reflects only its relevant details. And, because 'y' in the above example is a variable
that refers to an instance (object) of the class Student, 'y' may be alternatively referred to as either a
reference variable or sometimes just as a reference — a reference to a Student object, to be precise.
Names for reference variables follow the same convention as method and attribute names: they start
with a lower case letter and use mixed case to separate 'words' within the name. Some sample reference
variable declarations are as follows:
Student x;
Student aStudent;
Course prerequisiteOfThisCourse;
Professor myAdvisor;
New on the Java Boutique:
New Review:
Time Management Made Easy with the Quartz Enterprise Job Scheduler
Why not just use the Java timer API? This open source scheduling
API boasts simplicity, ease-of-integration, a well-rounded feature
set, and it's free!
New Applet:
Reverse Complement
Reverse Complement is a simple applet that converts DNA or RNA
sequences into three useful formats.
Elsewhere on internet.com:
WebDeveloper Java
Lots of Java information on webdeveloper.com
WDVL Java
Thorough Java resource at the Web Developer's Virtual Library.
ScriptSearch Java
Hundreds of free Java code files to download.
jGuru: Your View of the Java Universe
Customizable portal with online training, FAQs, regular news updates, and tutorials.
|