Object Oriented Design: Identifying Objects. Review What did we do in the last lab? What did you...
-
Upload
randell-dawson -
Category
Documents
-
view
220 -
download
0
Transcript of Object Oriented Design: Identifying Objects. Review What did we do in the last lab? What did you...
Object Oriented Design:Identifying Objects
Classes
• An object is defined by a class
• A class is the blueprint of an object:
– A class represents a concept, and an object represents the embodiment (i.e., concrete instance) of that concept
– The class uses methods to define behaviors of the object
– Multiple objects can be created from the same class
Copyright © 2012 Pearson Education, Inc.
Class = Blueprint• One blueprint to create several similar, but different,
houses:
Copyright © 2012 Pearson Education, Inc.
Basic class structure
Three major components of a class:– Fields – store data for the object to use– Constructors – allow the object to be set up properly
when first created– Methods – implement the behavior of the object
public class ClassName{ Fields Constructors Methods}
Classes/objects (state/behaviors)
• Car– My first car – a maroon Saab 9000
• Chair• Book
– Java Software Solutions, 7th Edition– Java Software Solutions, 8th Edition
• Table• Student• Teacher
More Identification
• Think about activities you do everyday– What real-world entities do you interact with?– What about programs you use?– Your phone, laptop/desktop
• Identify– Classes– Information/data– Behaviors/actions
Object-Oriented Programming (OOP)
• Objects make it easier to reuse code that others have written
– Java comes with built-in OO functionality (standard library)
• Objects commonly represent real-world entities
– For instance, an object might be a particular employee in a company
– Each employee object handles the processing and data management related to that employee
• OO is to programming like the assembly line was to industrialization
Copyright © 2012 Pearson Education, Inc.
Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling
Fields
• Fields store values for an object.
• They are also known as instance variables.
• Fields define the state of an object.
public class Square{ private int x; private int y; private int size; private Color fillColor; // Further details omitted.}
private int size;
visibility modifiertype
variable name
Similar Names for Fields
• All of these terms can be used interchangeably:– Fields– Instance Variables– Characteristics– Data– Attributes– Properties
• The values of the fields define the object’s _______state
Data Types
• boolean• char• int• long• float• double• String• Student• (any class)
— true, false— a…z,A…Z,[symbols]— integers— larger integers (2x)— floating decimal— larger floating decimal (2x)— characters strung together— defined class
8 Primitive Data Types in Java• Four represent integers:
– byte, short, int, long
• Two represent floating point numbers (with decimals):– float, double
• One represents single characters:– char
• One represents boolean values:– boolean
• What about other data?
Copyright © 2012 Pearson Education, Inc.
It must be defined as a class!
Numeric Primitive Data
• Why so many types to hold numbers?• Different sizes affect what values can be stored:
Type
byteshortintlong
floatdouble
Storage
8 bits16 bits32 bits64 bits
32 bits64 bits
Min Value
-128-32,768-2,147,483,648< -9 x 1018
+/- 3.4 x 1038 with 7 significant digits+/- 1.7 x 10308 with 15 significant digits
Max Value
12732,7672,147,483,647> 9 x 1018
Copyright © 2012 Pearson Education, Inc.
Constructors
• Constructors initialize an object.• They have the same name as their class.• They store initial values into the fields.• They often receive external parameter values for
this.
Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling
public Square(){ x = 0; y = 0; size = 0; fillColor = Color.blue;}
/** * Gets the size of the square. */
Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling
Methods
public int getSize(){ return size;}
return typemethod name
parameter list (empty)
start and end of method body (block)
return statement
visibility modifier
method header/signature
What we discussed today …
• Classes and objects– What they are– How to identify them– How to identify their components
• Data types
Homework
• Work on Lab 2 and submit Lab 1• Work with Codingbat exercises• Read Chapter 2