1 / 42

Chapter 1 Introduction to Object-Oriented Programming

Chapter 1 Introduction to Object-Oriented Programming. Chapter 1 Topics. Overview of Object-Oriented Programming How is Java Code Converted into a Form that a Computer Can use? Interpreting Code vs Executing Code Compilation, Interpretation, and Execution Kinds of Instructions

lotus
Download Presentation

Chapter 1 Introduction to Object-Oriented Programming

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Chapter 1 Introduction to Object-Oriented Programming

  2. Chapter 1 Topics • Overview of Object-Oriented Programming • How is Java Code Converted into a Form that a Computer Can use? • Interpreting Code vs Executing Code • Compilation, Interpretation, and Execution • Kinds of Instructions • Inside the Computer • Problem-Solving Techniques

  3. STEP 1 STEP 2 STEP 3 . . . What is Computer Programming? • It is the process of specifying the data types and the operations for a computer to apply to data in order to solve a problem

  4. Programming Life Cycle Phases • Problem-Solving • Implementation • Maintenance

  5. Problem-Solving Phase • ANALYZE the problem and SPECIFY what the solution must do • Develop a GENERAL SOLUTION (ALGORITHM) to solve the problem • VERIFY that your solution really solves the problem

  6. Sample Problem • A programmer needs an algorithm to determine an employee’s weekly wages • How would the calculations be done by hand?

  7. 40 x $ 24.75 = $ 990.00 12 x 1.5 x $ 24.75 = $ 445.50 ___________ $ 1435.50 One Employee’s Wages • During one week an employee works 52 hours at the hourly pay rate $24.75 • How much is the employee’s wages? • Assume a 40.0 hour normal work week • Assume an overtime pay rate factor of 1.5

  8. Weekly Wages, in General If hours is over 40.0, then wages = (40.0 * payRate) + (hours - 40.0) * 1.5 *payRate otherwise, wages = hours * payRate RECALL EXAMPLE ( 40 x $ 24.75 ) + ( 12 x 1.5 x $ 24.75 ) =$1435.50

  9. A class is . . . • a description of the representation of a specific kind of object, in terms of data and behavior • Date class • data: month, day, year • operations to set and return month, day, year

  10. An Object is . . . • an instance of a class • a Date object • June • 23 • 2004

  11. An Algorithm is . . . • instructions for solving a problem in a finite amount of time using a finite amount of data

  12. A Program is . . . • an algorithm written for a computer that defines classes of objects and orchestrates their interactions to solve a problem • objects work together to create an application (or program) that solves a problem

  13. Employee’s Weekly Wages Objects: Employee, pay rate, hours worked, wages Algorithm: 1. Get the employee’s hourly pay rate 2. Get the hours worked this week 3. Calculate this week’s regular wages 4. Calculate this week’s overtime wages (if any) 5. Add the regular wages to overtime wages (if any) to determine total wages for the week

  14. A Programming Language is . . . • a language with strict grammatical rules, symbols, and special words used to construct a computer program

  15. Code is . . . • the product of translating an algorithm into a programming language • instructions for a computer that are written in a programming language

  16. Implementation Phase: Test • Testing means executing (running) your program on the computer, to see if it produces correct results • If it does not, check the algorithm and/or code to find the error and fix it • Finding known errors is called debugging

  17. Maintenance Phase • Useand modify the program to meet changing requirements or correct errors that show up in using it • Maintenance begins when your program is put into use and accounts for the majority of effort on most programs

  18. Programming Life Cycle Problem-Solving Analysis and Specification General Solution ( Algorithm ) Verify Implementation Concrete Solution ( Code ) Test Maintenance Use Maintain

  19. Programming Shortcut? PROBLEM-SOLVING PHASE Problem Algorithm Shortcut? Code TEST THINKING IMPLEMENTATION PHASE CODE

  20. Binary Representation of Data • Circuit states correspond to 0 and 1 • Bit (short for binary digit) refers to a single 0 or 1 • Bit patterns represent data • 1 byte = 8 bits • 1 KB = 1024 bytes • 1 MB = 1024 x 1024 = 1,048,576 bytes

  21. How Many Possible Digits? • Binary (Base 2) Numbers use 2 digits: Just 0 and 1 • Decimal(Base 10) Numbers use 10 digits: 0 through 9

  22. Machine Language • Is not portable • Runs only on specific type of computer • Is made up of binary-coded instructions (strings of 0s and 1s) • Is the language that can be directly used by the computer

  23. Assembly Languages • Are machine dependent and run on only one specific type of computer • Are translated into machine code by assemblers • Are made up of English-like abbreviations such as LOAD, STORE, or ADD

  24. High Level Languages • Are portable • Are translated into machine code by compilers • Instructions are written in language similar to natural language • Examples -- FORTRAN, COBOL, Pascal, C, C++ • Many are standardized by ISO/ANSI to provide an official description of the language

  25. myprog.cpp myprog.obj myprog.exe SOURCE OBJECT EXECUTABLE written in C++ written in machine language written in machine language via compiler via linker other code from libraries, etc. Three C++ Program Stages

  26. Java Program Java Portability EXECUTABLES Windows PC running JVM Payroll.java Payroll.class SOURCE BYTECODE Java Bytecode Unix box running JVM via interpreter JVM via compiler Macintosh running JVM

  27. Java programming language • Achieves portability by using both a compiler and an interpreter • Java compiler translates a Java program into an intermediate Bytecode--not machine language • An interpreter program called the Java Virtual Machine (JVM) translates each successive instruction in the Bytecode program to machine language and immediately runs it

  28. Basic Control Structures • A sequenceis a series of statements that executes one after another • Selection (branch) executes different statements depending on certain conditions • Loop (repetition) repeats statements while certain conditions are met • A subprogram breaks the program into smaller units • Asynchronous control handles events that originate outside our program, such as button clicks.

  29. SEQUENCE . . . Statement Statement Statement

  30. SELECTION (branch) IF Condition THEN Statement1 ELSE Statement2 True Statement1 Statement Condition . . . Statement2 False

  31. Statement LOOP (repetition) WHILE Condition DO Statement1 False . . . Condition True

  32. SUBPROGRAM (function) . . . SUBPROGRAM1 SUBPROGRAM1 a meaningful collection of SEQUENCE, SELECTION, LOOP, SUBPROGRAM

  33. ASYNCHRONOUS CONTROL EVENTHANDLER a subprogram executed when an event occurs EVENT

  34. Object-Oriented Programming • A data type is the specification in a programming language of how information is represented as data and the operations that can be preformed on the data • An object is a collection of data values and associated operations • A class is a description of one or more like objects

  35. More OOP Vocabulary • Instantiation is the process of creating an object based on the description provided by a class • A package is a collection of related classes

  36. An Object of class Time OPERATIONSDATA Set Private data: hrs 8 mins 25 secs 42 Increment Write . . . Time

  37. Input Device Output Device Basic Computer Components Peripherals Central Processing Unit ( CPU ) Control Unit Arithmetic Logic Unit Auxiliary Storage Device Memory Unit ( RAM & Registers )

  38. Memory Unit • Is an ordered sequence of storage cells, each capable of holding a piece of data • Each memory cell has a distinct address • The information held can be input data, computed values, orprogram instructions

  39. Central Processing Unit (CPU) • Has two components to execute program instructions -- • Arithmetic/Logic Unit performs arithmetic and logical operations • Control Unit controls the order in which instructions in the program are executed

  40. Peripheral Devices • Are input, output, or auxiliary storage devices attached to a computer • Input Devices include keyboard and mouse • Output Devices include printers, video display, LCD screens • Auxiliary Storage Devices include disk drives, CD-ROM and DVD-ROM drives

  41. Problem Solving Techniques • ASK QUESTIONS -- about the data, the process, the output, error conditions • LOOK FOR FAMILIAR THINGS -- certain situations arise again and again • SOLVE BY ANALOGY -- it may give you a place to start • USE MEANS-ENDS ANALYSIS -- Determine the I/O and then work out the details

  42. More Problem Solving Techniques • DIVIDE AND CONQUER -- break up large problems into manageable units • BUILDING-BLOCK APPPROACH -- can you solve small pieces of the problem? • MERGE SOLUTIONS -- instead of joining them end to end to avoid duplicate steps • OVERCOME MENTAL BLOCK -- by rewriting the problem in your own words

More Related