Object Oriented Design: Identifying Objects
Review What did we do in the last lab? What did you learn? What classes did we use? What objects did we use? What is the difference between a class and an object?
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.
Let s play a game: Identify Classes Behaviors/actions Information/data Input/output
Basic class structure public class ClassName { Fields Constructors Methods } 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
Classes/objects (state/behaviors) Car My first car a maroon Saab 9000 Chair Book Java Software Solutions, 7 th 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
Basic class structure public class ClassName { Fields Constructors Methods } 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
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.
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. visibility modifier type variable name private int size; Objects First with Java - A Practical Introduction using BlueJ, David J. Barnes, Michael Kölling
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? It must be defined as a class! Copyright 2012 Pearson Education, Inc.
Numeric Primitive Data Why so many types to hold numbers? Different sizes affect what values can be stored: Type Storage Min Value Max Value byte short int long 8 bits 16 bits 32 bits 64 bits -128-32,768-2,147,483,648 < -9 x 10 18 127 32,767 2,147,483,647 > 9 x 10 18 float double 32 bits 64 bits +/- 3.4 x 10 38 with 7 significant digits +/- 1.7 x 10 308 with 15 significant digits Copyright 2012 Pearson Education, Inc.
Constructors public Square() { x = 0; y = 0; size = 0; color = Color.blue; } 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
Methods method header/signature visibility modifier return type method name /** * Gets the size of the square. */ public int getsize() { return size; } start and end of method body (block) parameter list (empty) return statement Objects First with Java - A Practical Introduction using BlueJ, David J. Barnes, Michael Kölling
What we discussed today Classes and objects What they are How to identify them How to identify their components Data types
Homework Work on and submit Lab 2 Work with Codingbat exercises Read Chapter 2