Download presentation
Presentation is loading. Please wait.
1
COMP 110 Introduction to Programming Mr. Joshua Stough October 1, 2007
2
Today in COMP 110 Object-Oriented Design Review of String methods Review of booleans Review of increment operator
3
Object-Oriented Design What is it? Designing a solution to a problem by first identifying components called objects, and determining how the objects interact with each other
4
Objects VCR 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 with objects (like strings) that are provided by Java
5
Objects Consists 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.
6
Objects And 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
7
Classes 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
8
Object-Oriented Design Simplified Methodology 1. Write down detailed description of problem 2. Identify all (relevant) nouns and verbs 3. From list of nouns, select objects 4. Identify data components of each object 5. From list of verbs, select operation
9
Object-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
10
Example 1 Building 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
11
Example 1 Building 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
12
Example 1 Building 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
13
class Rectangle Data Members and Operations Last Step: design and implement an algorithm for each operation class name data members operations (methods)
14
Anatomy of a Class A class contains data declarations and method declarations int width; int length; Data declarations Method declarations (operations)
15
Classes and Objects Rectangle A class (the concept) length = 15, width = 3 An object (the realization) length = 20, width = 6 length = 15, width = 15 Multiple objects from the same class
16
Object-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 cookies—each 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. multiple objects/classes (pgs. 302-305)
17
Non-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
18
The String Class The String class is used to define String objects Each String object contains specific characters (its data members) Each String object can perform services (operations), such as toUpperCase, equals
19
String Methods Method Description boolean equals(String str) int length() String toLowerCase() char charAt(int index) the result can be stored in a boolean variable or used in a boolean expression (return type) the method needs to be given another String (parameter) method name
20
Using String Methods list of String methods: Chapter 3 and Appendix E Steps: –create a String object –put data into the object –use the dot operator to "call" the method String line; line = keyboard.readLine(); String greeting = "Hello"; int len = line.length(); greeting = greeting.toUpperCase(); char ch = greeting.charAt(3);
21
The class IntClass Provided by the textbook authors (not a part of standard Java library) –also DoubleClass Described pgs 368-9 and Appendix D Mentioned in some examples, but we probably won't use it
22
Booleans boolean variables can take one of two possible values: true or false Mostly used in decision (conditional) statements –if, if-else –loops
23
Questions Given: count = 4, max = 8, factor = 2 1.count < max 2.(count * factor) >= max 3.(max / factor) == (count + 1) true false
24
Write Boolean Expressions 1.factor times count is less than total and sum 2.total is less than or equal to sum or factor 3.the expression evaluates to true when isFound is false (factor * count < total) && (factor * count < sum) (total <= sum) || (total <= factor) !isFound OR (isFound == false)
25
Increment Operator Example: int count = 0; count++; // same as count = count + 1; Not: int count = 0; count = count++; using post-increment, so this stores the original value of count in count and then increments (but doesn't actually change count)
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.