? 2000 McGraw-Hill
Introduction to Object-Oriented Programming with
Java--Wu Chapter 1 - 1
Chapter 1
Introduction to Object-oriented Programming
and
Software Development
2000 McGraw-Hill Introduction to Object-Oriented Programming with Java--Wu Chapter 1 - 2
Chapter 1 Objectives
After you have read and studied this chapter,you
should be able to
Name the basic components of object-oriented
programming.
Differentiate classes and objects.
Differentiate class and instance methods.
Differentiate class and instance data values.
Draw object diagrams using icons for classes,objects,
and other components of object-oriented programming.
Describe the significance of inheritance in object-
oriented programs.
Name and explain the stages of the software life cycle.
2000 McGraw-Hill Introduction to Object-Oriented Programming with Java--Wu Chapter 1 - 3
Classes and Objects
Object-oriented programs use objects.
An object is a thing,both tangible and intangible,
Account,Vehicle,Employee,etc.
To create an object inside the computer program,we
must provide a definition for objects—how they
behave and what kinds of information they maintain
—called a class.
An object is called an instance of a class.
2000 McGraw-Hill Introduction to Object-Oriented Programming with Java--Wu Chapter 1 - 4
Graphical Representation of an Object
Account
SV129
The class name is
placed inside the
object icon.
The object’s name
appears on top of the
icon.
An icon for an object is
the rounded rectangle.
The class name may be
omitted when it is clear
from the context which
class the object belongs to.
customer1
2000 McGraw-Hill Introduction to Object-Oriented Programming with Java--Wu Chapter 1 - 5
Graphical Representation of a Class
Account
The class name
appears on top of the
icon.
An icon for a class is the
rectangle.
2000 McGraw-Hill Introduction to Object-Oriented Programming with Java--Wu Chapter 1 - 6
Instance-of Relationship
Employee
Employee
Bill
Employee
Steve
Employee
Andy
The class name can be
omitted since it is clear
which class these
objects belong to,
The dotted line shows
the instance-of
relationship.
Before you can create
instances of a class,the
class must be defined.
2000 McGraw-Hill Introduction to Object-Oriented Programming with Java--Wu Chapter 1 - 7
Messages and Methods
To instruct a class or an object to perform a task,we
send a message to it.
You can send a message only to the classes and
objects that understand the message you sent to
them.
A class or an object must possess a matching method
to be able to handle the received message.
A method defined for a class is called a class method,
and a method defined for an object is called an
instance method.
A value we pass to an object when sending a
message is called an argument of the message.
2000 McGraw-Hill Introduction to Object-Oriented Programming with Java--Wu Chapter 1 - 8
Sending a Message
Message deposit with
the argument 250.00 is
sent to chk-008.
Account
chk-008
deposit
deposit 250.00
Message name is usually
omitted in the diagram.
deposit
250.00
2000 McGraw-Hill Introduction to Object-Oriented Programming with Java--Wu Chapter 1 - 9
Sending a Message and Getting an Answer
This message has no
argument.
Account
chk-008
getMonthlyFee
monthly fee
The method returns the
value monthly fee back
to the message sender.
2000 McGraw-Hill Introduction to Object-Oriented Programming with Java--Wu Chapter 1 - 10
Calling a Class Method
Account
getAverageBalance
average balance
The average balance of
all accounts is returned.
2000 McGraw-Hill Introduction to Object-Oriented Programming with Java--Wu Chapter 1 - 11
Summary of Class and Object Icons
Squared corners are
used for a class and
class methods.
An instance method
icon is drawn in a
dotted line.
Rounded corners are
used for a class and
class methods.
2000 McGraw-Hill Introduction to Object-Oriented Programming with Java--Wu Chapter 1 - 12
Class and Instance Data Values
An object is comprised of data values and methods.
An instance data value is used to maintain
information specific to individual instances,For
example,each Account object maintains its balance.
A class data value is used to maintain information
shared by all instances or aggregate information
about the instances.
For example,minimum balance is the information
shared by all Account objects,whereas the average
balance of all Account objects is an aggregate information.
2000 McGraw-Hill Introduction to Object-Oriented Programming with Java--Wu Chapter 1 - 13
Sample Instance Data Value
Account
SV129
Account
SV506
Account
SV008
current balance current balance current balance
All three Account objects
possess the same instance
data value current balance.
The actual dollar
amounts are,of course,
different.
908.55 1304.98 354.00
2000 McGraw-Hill Introduction to Object-Oriented Programming with Java--Wu Chapter 1 - 14
Sample Class Data Value
Account
SV129
Account
SV506
Account
SV008
current balance current balance current balance
908.55 1304.98 354.00
Account
minimum balance
100.00
There is one copy of
minimum balance for
the whole class and
shared by all instances.
2000 McGraw-Hill Introduction to Object-Oriented Programming with Java--Wu Chapter 1 - 15
Variable and Constant Data Values
There are two types of data values:
Account
Account
SV129
minimum balance
100.00 current balance908.55
account prefix
6427 opening balance100.00
A constant whose value
must remain fixed over time.
A variable whose value can
change over time.
2000 McGraw-Hill Introduction to Object-Oriented Programming with Java--Wu Chapter 1 - 16
Inheritance
In object-oriented programming,we use a
mechanism called inheritance to design two or more
entities that are different but share many common
features,
First we define a class that contains the common
features of the entities,Then we define classes as an extension of the common class inheriting everything
from the common class,
We call the common class the superclass and all
classes that inherit from it subclasses,We also call
the superclass an ancestor and the subclass a
descendant.
2000 McGraw-Hill Introduction to Object-Oriented Programming with Java--Wu Chapter 1 - 17
Account and Its Subclasses
Account
minimum balance
100.00
Savings Checking
minimum balance
250.00
This class becomes
the superclass of
two subclasses…
when (sub)classes
inherit from it.
Inherited components
are not shown in the
subclasses unless…
the subclass(es)
overrides them.
2000 McGraw-Hill Introduction to Object-Oriented Programming with Java--Wu Chapter 1 - 18
Sample Inheritance Hierarchy
Account
Savings Checking
SuperSaver Regular Student
Interest
Bearing
ATM
Checking
2000 McGraw-Hill Introduction to Object-Oriented Programming with Java--Wu Chapter 1 - 19
Software Engineering and Software Life Cycle
The sequence of stages from conception to operation
of a program is called software life cycle,Five stages
are
Analysis
Design
Coding
Testing
Operation and Maintenance
Software engineering is the application of a systematic
and disciplined approach to the development,testing,
and maintenance of a program.
2000 McGraw-Hill Introduction to Object-Oriented Programming with Java--Wu Chapter 1 - 20
Having Fun with Java
/*
Program FunTime
The program will allow you to draw a picture by dragging a
mouse (move the mouse while holding the left mouse button
down; hold the button on Mac),To erase the picture and start
over,click the right mouse button (command-click on Mac).
*/
import javabook.*;
class FunTime
{
public static void main(String[ ] args)
{
SketchPad doodleBoard;
doodleBoard = new SketchPad();
doodleBoard.setVisible( true );
}
}
Declare a name
Create an object
Make it visible
2000 McGraw-Hill Introduction to Object-Oriented Programming with Java--Wu Chapter 1 - 21
Object Diagram for FunTime
FunTime
main
SketchPad
doodleBoard
setVisibletrue
2000 McGraw-Hill Introduction to Object-Oriented Programming with Java--Wu Chapter 1 - 22
Execution Flow of the FunTime Program
SketchPad doodleBoard;
doodleBoard = new SketchPad();
doodleBoard.setVisible( true );
doodleBoard
SketchPad