Presentation is loading. Please wait.

Presentation is loading. Please wait.

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie COMP 14 Introduction to Programming Adrian Ilie July 8, 2005.

Similar presentations


Presentation on theme: "The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie COMP 14 Introduction to Programming Adrian Ilie July 8, 2005."— Presentation transcript:

1 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie COMP 14 Introduction to Programming Adrian Ilie July 8, 2005

2 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 2 COMP 14 So Far... Problem Solving Mathematical Calculations Output User Input File I/O Selection (if, if-else, switch) Loops (while, do...while, for)

3 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 3 COMP 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

4 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 4 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

5 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 5 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 objects (like Strings) that are provided by Java

6 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 6 Objects 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.

7 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 7 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

8 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 8 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

9 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 9 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 operations

10 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 10 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

11 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 11 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

12 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 12 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

13 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 13 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

14 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 14 class Rectangle Data Members and Operations Last Step: design and implement an algorithm for each operation class name data members operations (methods)

15 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 15 Anatomy of a Class A class contains data declarations and method declarations int width; int length; Data declarations Method declarations (operations)

16 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 16 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

17 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 17 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.

18 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 18 Object-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.

19 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 19 Object-Oriented Design: Example 2

20 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 20 Object-Oriented Design: Example 2

21 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 21 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

22 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 22 Next in Comp14 Tomorrow: writing methods Monday: review for mid-term ♦ Bring laptops ♦ Write questions before coming to class


Download ppt "The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie COMP 14 Introduction to Programming Adrian Ilie July 8, 2005."

Similar presentations


Ads by Google