Download Program Development and Problem Solving

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
Objects
!
Java Programming
!
!
Example: “Real-world” objects
!
!
!
Suppose we want to describe a car in terms
of its attributes and functionality
Attributes:
– tires, steering wheel, doors, engine
– model, make, year, color
– attributes can have constant variables
• all cars have a steering wheel
Actions:
– brake, stop, drive, reverse, park
Java classes
!
!
!
!
!
!
Java String class
!
!
!
Java is an object-oriented programming
language
– use objects to define both the data type
and the operations that can be applied to
the data
Objects have attributes and functionality
– attributes describe the state of the object
– the functionality of an object is the set of
actions the object can perform
In Java, we define an object’s attributes using
variables and its functionality using methods
Java objects are created using classes
Encapsulation
– combining elements to create a new entity
A class encapsulates the variables and
methods that define an object
Instantiation
– the act of creating an object
– objects are called class instances
Java provides many predefined classes
You can (and will!) define your own classes
Instantiation
The String class represents character
strings
String firstname = “Tammy”;
String lastname = “Bailey”;
!
!
Creating an object is called instantiation
– the new operator is used with class name
Example: Create a TextField object
Strings are basically an array of characters
Strings can be concatenated (added
together) using the concatenation operator +
String fullname =
firstname + “ ” + lastname;
!
Can create multiple instances of the same class
TextField t = new TextField();
!
TextField t1 = new TextField();
TextField t2 = new TextField();
Exception: The new operator is not required
when creating a String
1
Java TextField class
!
!
Invoking an object’s methods
The TextField class allows the editing and
display of a single line of text
!
TextField t = new TextField();
!
Methods
– setText(String s)
• set the text of the field to the string s
– String getText()
• get the text of the field and assign it to a
variable of type string
TextField t = new TextField();
t.setText(“Hello”);
!
!
!
!
User interaction determines the behavior of the
program
Program receives user input through mouse
and keyboard and performs associated method
or action
Text fields
– edit and display single line of text
Buttons
– can specify action to occur when button is
clicked
Action listeners
!
!
We would like our applet to do the following:
– get text from text field t1 and display it in
text field t2 when button b is clicked
TextField t1 = new TextField();
TextField t2 = new TextField();
Button b = new Button(“copy text”);
b.addActionListener(this);
If we want a button to know when it is clicked,
we have to enable it to “listen” for user input
This is done using the button method
addActionListener
!
Button b = new Button(“click!”);
b.addActionListener(this);
!
If we don’t invoke the addActionListener
method on a button, nothing will happen
when the button is clicked
Example
!
Syntax
– object.verb( data );
– Perform verb on object using data
Interactive objects
!
Once we create a text field, we can perform
actions on it using its methods
The variables and methods of an object are
accessed using the dot operator
Actions
!
We specify actions to occur when a button is
clicked in the actionPerformed method
public void actionPerformed(ActionEvent event)
{
Object cause = event.getSource();
if(cause == b)
{
t2.setText(t1.getText());
}
}
2
Numeric input
!
!
Type wrappers
Suppose we want an applet that allows the
user to enter two integers and display the
minimum
– A text field contains a string
– If we want to perform numeric operations
on the input from a text field, we have to
convert the string to a numeric data type
– numbers are primitive data types, not
objects
Can convert using Java type wrappers
!
String conversion
!
!
!
!
!
!
Convert String str to byte b
byte b = Byte.parseByte(str);
Convert String str to short s
short s = Short.parseShort(str);
Convert String str to int i
int i = Integer.parseInt(str);
Convert String str to long l
long l = Long.parseLong(str);
Convert String str to float f
float f = Float.parseFloat(str);
Convert String str to double d
double d = Double.parseDouble(str);
Convert primitive types into objects
Primitive Type
byte
Wrapper Type
Byte
short
int
Short
Integer
long
float
double
Long
Float
Double
char
boolean
Character
Boolean
Action performed for integer input
public void actionPerformed(ActionEvent event)
{
Object cause = event.getSource();
int x = Integer.parseInt(t1.getText());
int y = Integer.parseInt(t2.getText());
if(cause == b)
{
int min = minimum(x,y);
t3.setText(“The minimum is: ” + min);
}
}
3