Title: COMP 14 Introduction to Programming
1COMP 14Introduction to Programming
2COMP 14 So Far...
- Problem Solving
- Mathematical Calculations
- Output
- User Input
- File I/O
- Selection (if, if-else, switch)
- Loops (while, do...while, for)
3COMP 14 Next...
- Object-Oriented Design
- Writing Methods
- pieces of code that we give a name
- Writing Classes
- organize related pieces of information
- Arrays
- access multiple pieces of information with a
single identifier
4Object-Oriented Design
Designing a solution to a problem by first
identifying components called objects, and
determining how the objects interact with each
other
5ObjectsVCR Example
- Use it without knowing how it's made
- Internal parts are hidden -- only interact with
the provided buttons - Can't modify the functions of a VCR -- record
button always records, play button always plays
Same is true for objects (like Strings) that are
provided by Java
6Objects
- Consist of data and operations on the data
- Data - descriptive characteristics
- Operations - what it can do (or what can be done
to it) - Example
- A coin that can be flipped so that its face
shows either "heads" or "tails" - data its current face (heads or tails)
- operations it can be flipped
Operations can change data.
7ObjectsAnd Methods and Classes
- We represent operations with methods
- group of statements that are given a name
- We can use objects and their methods without
knowing exactly how the methods work - An object is an instance of a class. A class is
the blueprint of an object. - the class provides the methods that can operate
on an object of that class
8Classes
- A class contains data declarations and method
declarations - A class is a description of an object
- just a model, not an actual object
- you can think of the concept of a book without
thinking of a particular book - A class is no more an object than a blueprint is
an actual house
9Object-Oriented DesignSimplified Methodology
- Write down detailed description of problem
- Identify all (relevant) nouns and verbs
- From list of nouns, select objects
- Identify data components of each object
- From list of verbs, select operations
10Object-Oriented Design Example 1
- Problem Statement
- Write a program to input the length and width of
a rectangle and calculate and print the perimeter
and area of the rectangle
11Example 1Building a Rectangle
- Identify nouns
- length, width, rectangle, perimeter, area
- Identify each class
- length of a rectangle
- width of a rectangle
- perimeter of a rectangle
- area of a rectangle
12Example 1Building a Rectangle
- Identify data members for each class
- nouns length, width, area, perimeter
- what are the essential nouns for describing the
rectangle? - area and perimeter can be computed if we know the
length and width
13Example 1Building a Rectangle
- Identify operations for each class
- input, calculate, print
- setLength
- setWidth
- computePerimeter
- computeArea
- print
- getLength
- getWidth
directly from problem statement
customary to include operations to get the value
of the data members
14class Rectangle Data Members and Operations
class name
data members
operations (methods)
Last Step design and implement an algorithm for
each operation
15Anatomy of a Class
- A class contains data declarations and method
declarations
int width int length
Data declarations
Method declarations (operations)
16Classes and Objects
A class (the concept)
An object (the realization)
length 15, width 3
Rectangle
length 20, width 6
Multiple objects from the same class
length 15, width 15
17Object-Oriented Design Example 2
- A place to buy candy is from a candy machine.
A new candy machine is bought for the gym, but it
is not working properly. The candy machine has
four dispensers to hold and release items sold by
the candy machine and a cash register. The
machine sells four products candies, chips, gum,
and cookieseach stored in a separate dispenser.
You have been asked to write a program for this
candy machine so that it can be put into
operation.
18Object-Oriented Design Example 2
- The program should do the following
- Show the customer the different products sold by
the candy machine. - Let the customer make the selection.
- Show the customer the cost of the item selected.
- Accept money from the customer.
- Return change.
- Release the item, that is, make the sale.
19Object-Oriented Design Example 2
20Object-Oriented Design Example 2
21Non-Concrete Objects
- Objects in programs don't always have real-world
analogs - Example
- object error message
- data text of the error message
- operation print the text of the error
- message to the screen
22Next in Comp14
- Tomorrow writing methods
- Monday review for mid-term
- Bring laptops
- Write questions before coming to class