Presentation is loading. Please wait.

Presentation is loading. Please wait.

Object Oriented Design: Identifying Objects

Similar presentations


Presentation on theme: "Object Oriented Design: Identifying Objects"— Presentation transcript:

1 Object Oriented Design: Identifying Objects

2 Objects First with Java
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? What © David J. Barnes and Michael Kölling

3 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.

4 Class = Blueprint One blueprint to create several similar, but different, houses: Copyright © 2012 Pearson Education, Inc.

5 Let’s play a game: Identify
Objects First with Java Let’s play a game: Identify Classes Behaviors/actions Information/data Input/output Break out into groups for angry birds Use the Word document handout for them to fill in classes, data, and behaviors Go and Play the Wii ~15 minutes © David J. Barnes and Michael Kölling

6 Objects First with Java
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 © David J. Barnes and Michael Kölling

7 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

8 Objects First with Java
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 Use the Word document handout for them to fill in classes, data, and behaviors Identify (~4+ minutes) Share/Group (3-4 people; ~6+ minutes) Choose one from the group that everyone is pretty familiar with and write as much detail as you can on the board (~4 minutes) Share/Class (~4+ minutes) © David J. Barnes and Michael Kölling

9 Objects First with Java
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 © David J. Barnes and Michael Kölling

10 Object-Oriented Programming (OOP)
Objects First with Java 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 Explain again, WHY we care about Object-Oriented Programming Purpose – make it easy to reuse code OO is to programming like the assembly line is to industrialization Copyright © 2012 Pearson Education, Inc. © David J. Barnes and Michael Kölling

11 Objects First with Java
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. } type visibility modifier variable name private int size; Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling © David J. Barnes and Michael Kölling

12 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

13 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

14 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.

15 Numeric Primitive Data
Why so many types to hold numbers? Different sizes affect what values can be stored: Type byte short int long float double Storage 8 bits 16 bits 32 bits 64 bits Min Value -128 -32,768 -2,147,483,648 < -9 x 1018 +/- 3.4 x 1038 with 7 significant digits +/- 1.7 x with 15 significant digits Max Value 127 32,767 2,147,483,647 > 9 x 1018 Copyright © 2012 Pearson Education, Inc.

16 Objects First with Java
Constructors public Square() { x = 0; y = 0; size = 0; fillColor = 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. Only here as a brief introduction and to reinforce what they saw last class Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling © David J. Barnes and Michael Kölling

17 Objects First with Java
Methods method header/signature return type visibility modifier method name /** * Gets the size of the square. */ parameter list (empty) public int getSize() { return size; } return statement Only here as a brief introduction start and end of method body (block) Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling © David J. Barnes and Michael Kölling

18 What we discussed today …
Classes and objects What they are How to identify them How to identify their components Data types

19 Homework Work on Lab 2 and submit Lab 1 Work with Codingbat exercises
Read Chapter 2


Download ppt "Object Oriented Design: Identifying Objects"

Similar presentations


Ads by Google