Date post: | 31-Dec-2015 |
Category: |
Documents |
Upload: | moses-carter |
View: | 39 times |
Download: | 3 times |
Georgia Institute of Technology
Understanding Objects and Classes
Barb Ericson
Jan 2005
Georgia Institute of Technology
Learning Goals
• What does object-oriented mean?
• What are objects?
• What are classes?
• Exercises for conceptually understanding objects and classes– Scenarios– Role-playing
Georgia Institute of Technology
What is Object-Oriented?
• This means that we focus on the objects not just the procedures– Focus on – who (what objects?)– as well as – what (what do the
objects do?)
Georgia Institute of Technology
What is an Object?
• A person, place, or thing– That knows something about
itself• Has data (attributes, fields)• A cashier has a id, name, and a
password
– And can do something• Has operations (methods)• A cashier can total the items,
take payment, make change
Georgia Institute of Technology
What is a Class?
• The type of an object – The way we classify
an object• “The Idiot” by
Dostoevsky is a book• “War and Peace” by
Tolstoy is a book• Mary is a cashier• Tasha is a cashier
• Grouping of objects with the same data and operations
Georgia Institute of Technology
Class: Example
• Mary is a cashier• Tasha is a cashier• Cashier is a class
– All cashiers have an id, name and password
• Each will have a different id, name, and password
– All cashiers can total an order, take payment, make change
Georgia Institute of Technology
Object Data
• Each object has its own data– Tasha’s id is 4 and
password is mhall– Mary’s id is 3 and
password is smile4
• All cashier objects have an id, name, and password
• Changing Mary’s data won’t affect Tasha’s data
Georgia Institute of Technology
Understanding Objects and Classes• What “types” of objects
are in the classroom? • What data is known about
each type and what operations can objects of that type do?
• Are there several objects of the same “type”.– How are they the same and
how different?
Georgia Institute of Technology
Simulation
• Object-oriented development means creating a simulation of the problem– We need to know the
objects in the problem• So we can create
software objects to represent them
Georgia Institute of Technology
Classes Define the Objects
• The computer doesn’t know what we mean by a car or cashier
• We define the class Cashier so that the computer will understand what a cashier or bank account “is” and what it can “do”– In the context of the problem we are trying to
solve
• Then the computer can create objects to do the simulation
Georgia Institute of Technology
Classes Create Objects
• The class can be thought of as a recipe, blueprint, or factory
• Many objects can be created from one class
• Objects keep track of the class that created them– I am an object (instance) of
the Cookie class
Georgia Institute of Technology
Software Objects are Models
• The objects we create in software are models of the physical object– We can’t stick a
person in our software– We can create a
model of the person with the information we need to know for that person for our task
Cashier
id
name
password
Georgia Institute of Technology
Using Scenarios to Identify Objects
• What objects are involved in going to the doctor because you are sick?
• What objects are involved in going to the movies?
• What objects are involved in a card game like blackjack?
Georgia Institute of Technology
Objects have Responsibilities
• An object-oriented design– Determines the tasks to be done– Determines what objects will be responsible
for each task• No one object does everything• Objects work together to accomplish tasks
– The assignment of responsibilities is the key skill in object-oriented design
Georgia Institute of Technology
Identifying Classes
• What type of thing was each thing in the scenario? How would you classify it?– Patient, Doctor, Nurse, Insurance …– Movie, Ticket Seller, Ticket Taker, Ticket,
Popcorn, Drink …– Card, Deck, Player, Suit …
• How many objects of that types were in each scenario?– What data did each object have associated
with it? What could it do?
Georgia Institute of Technology
Learning about Objects and Classes
• Walk through scenarios• Do role-playing• Underline nouns in scenarios to identify
the objects and classes• Create CRC cards• Draw UML diagrams• Write methods and classes• Specialize a parent class• Use a debugger to step through execution
Georgia Institute of Technology
Role Playing Exercises
• Page at http://web.sbu.edu/cs/dlevine/RolePlay/roleplay.html has links to exercises
• Powerpoint slides you can hand out developed by Joseph Bergin of Pace University– FirstDayRolePlay-Bergin.ppt
Georgia Institute of Technology
Summary• Object-oriented programs are simulations
– Objects simulate the “real world” and interact to accomplish a task
– Classes define the data all objects will have and what things they can do
• Ways to start understanding Objects and Classes – Scenarios– Role-Playing