1 / 53

An Overview of Object-Oriented Programming and C++

1. An Overview of Object-Oriented Programming and C++. Object-Oriented Programming Using C++ Second Edition. 1. Objectives. In this chapter, you will learn: About the task of programming About programming universals About procedural programming About object-oriented programming

Download Presentation

An Overview of Object-Oriented Programming and C++

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. 1 An Overview of Object-Oriented Programming and C++ Object-Oriented Programming Using C++ Second Edition

  2. 1 Objectives • In this chapter, you will learn: • About the task of programming • About programming universals • About procedural programming • About object-oriented programming • About the C++ programming environment • How to create a main() function

  3. 1 Objectives • In this chapter, you will learn: • How to work with variables and the const qualifier • How to create comments • How to use libraries and preprocessor directives • How to use cout and cin • How to work with classes

  4. 1 The Task of Programming • Programming a computer involves writing instructions that enable a computer to carry out a single task or a group of tasks • A computer programming language requires learning both vocabulary and syntax • Programmers use many different programming languages, including BASIC, Pascal, COBOL, RPG, and C++ • The rules of any language make up its syntax • Machine language is the language that computers can understand; it consists of 1s and 0s

  5. 1 The Task of Programming • A translator (called either a compiler or an interpreter) checks your program for syntax errors • A logical error occurs when you use a statement that, although syntactically correct, doesn’t do what you intended • You run a program by issuing a command to execute the program statements • You test a program by using sample data to determine whether the program results are correct

  6. 1 Programming Universals • All programming languages provide methods for directing output to a desired object, such as a monitor screen, printer or file • Similarly, all programming languages provide methods for sending input into the computer program so that it can be manipulated • In addition, all programming languages provide for naming locations in computer memory • These locations commonly are called variables (or attributes)

  7. 1 Programming Universals • Ideally, variables have meaningful names, although no programming language actually requires that they meet this standard • A variable may have only one value at a time, but it is the ability of memory variables to change in value that makes computers and programming worthwhile • In many computer programming languages, including C++, variables must be explicitly declared, or given a data type as well as a name, before they can be used

  8. 1 Programming Universals • The type determines what kind of values may be stored in a variable • Most computer languages allow at least two types: one for numbers and one for characters • Numeric variables hold values like 13 or -6 • Character variables hold values like ‘A’ or ‘&’ • Many languages include even more specialized types, such as integer (for storing whole numbers) or floating point (for storing numbers with decimal places)

  9. 1 Procedural Programming • Procedural programs consist of a series of steps or procedures that take place one after the other • The programmer determines the exact conditions under which a procedure takes place, how often it takes place, and when the program stops • Programmers write procedural programs in many programming languages, such as COBOL, BASIC, FORTRAN, and RPG • You can also write procedural programs in C++

  10. 1 Early Procedural Programs • When programming languages were first used, the programmer’s job was to break a task into small, specific steps • Each step was then coded in an appropriate language • Three basic control structures are used in procedural programming • In the first structure, a sequence, program steps execute one after another, without interruption

  11. 1 Early Procedural Programs • Procedural programs also can include a second control structure called selection, which you use to perform different tasks based on a condition

  12. 1 Early Procedural Programs • The third control structure used in computer programs is the loop • some programmers call the loop structure a repetition or iteration structure

  13. 1 Adding a Loop to a Simple Procedural Billing Program

  14. 1 Modularity and Abstraction • Programming in the oldest procedural languages had two major disadvantages: • The programming process involved so much detail that the programmer (and any person reading the program) lost sight of the big picture • Similar statements required in various parts of the program had to be rewritten in more than one place • Writing programs became easier when programming languages began to allow the programmer to write methods • Using methods allows programmers to group statements together into modules or routines

  15. 1 Modularity and Abstraction

  16. 1 The Procedural Billing Program Containing Several Module Calls

  17. 1 Encapsulation • Modules or procedures act somewhat like relatively autonomous mini-programs • Not only can modular routines contain their own sets of instructions, but most programming languages allow them to contain their own variables as well • The variables and instructions within a module are hidden and contained —that is encapsulated—which helps to make the module independent of all other modules, and therefore reusable

  18. 1 Object-Oriented Programming • Object-oriented programming requires a different way of thinking and adds several new concepts to programming; • You analyze the objects with which you are working—both the attributes of those objects and the tasks that need to be performed with and on those objects • You pass messages to objects, requesting the objects to take action • The same message works differently when applied to the various objects

  19. 1 Object-Oriented Programming • A method can work appropriately with different types of data it receives, without the need for separate method names • Objects can share or inherit traits of previously created objects, thereby reducing the time it takes to create new objects • Information hiding is more complete than in procedural programs

  20. 1 Object-Oriented Programming • The basic principles behind using object-oriented programming techniques involve: • Objects • Classes • Inheritance • Polymorphism

  21. 1 Objects and Classes • An object is any thing • A class consists of a category of things • An object is a specific item that belongs to a class; it is called an instance of a class • A class defines the characteristics of its objects and the methods that can be applied to its objects • It is conventional, but not required, to begin object names with a lowercase letter, and to begin class names with an uppercase letter

  22. 1 Inheritance • The concept of using classes provides a useful way to organize objects; it is especially useful because classes are reusable or extensible • You can create new classes that extend or are descendants of existing classes • The descendent classes can inherit all the attributes of the original (or parent) class, or they can override inappropriate attributes

  23. 1 Polymorphism • Programming modules might occasionally need to change the way they operate depending on the context • Object-oriented programs use polymorphism to carry out the same operation in a manner customized to the object • Without polymorphism you would have to use a separate module or method name for a method that multiplies two numbers and one that multiplies three numbers • Without polymorphism you would have to create separate module names for a method that cleans a Dish object, one that cleans a Car object, and one that cleans a Baby object

  24. 1 Getting Started in the C++ Programming Environment • Depending on your C++ installation, you can access the compiler by clicking an icon, selecting from a menu, or typing a command • The main work area in any C++ programming environment is the editor • An editor is a simplified version of a word processor in which you type your program statements, or source code • After you enter the source code for a program, you must compile the program

  25. 1 Getting Started in the C++ Programming Environment • When you compile, the code you have written is transformed into machine language—the language that the computer can understand • The output from the compilation is object code • When a C++ program is compiled, a file is created that has the same filename as the source code, but has the extension .obj • A runnable, or executable, program needs the object code as well as code from any outside sources (other files) to which it refers

  26. 1 Getting Started in the C++ Programming Environment • The process of integrating these outside references is called linking • An executable file contains the same filename as the source code and the object code, but carries the extension .exe to distinguish it as a program • When you compile a C++ program, error messages and/or warnings might appear • A C++ program with errors will not execute; you must eliminate all error messages before you can run the program

  27. 1 Creating a main( ) Function • C++ programs consist of modules called functions • Every statement within every C++ program is contained in a function • Every function consists of two parts: • A function header is the initial line of code in a C++ which always has three parts: • Return type of the function • Name of the function • Types and names of any variables enclosed in parentheses, and which the function receives • A function body

  28. 1 Creating a main( ) Function • A C++ program may contain many functions, but every C++ program contains at least one function, and that function is called main( ) • If the main function does not pass values to other programs or receives values from outside the program, then main( ) receives and returns a void type • The body of every function in a C++ program is contained in curly braces, also known as curly brackets

  29. 1 Creating a main( ) Function • Every complete C++ statement ends with a semicolon • Often several statements must be grouped together, as when several statements must occur in a loop • In such a case, the statements have their own set of opening and closing braces within the main braces, forming a block

  30. 1 Working with Variables • In C++, you must name and give a type to variables (sometimes called identifiers) before you can use them • Names of C++ variables can include letters, numbers, and underscores, but must begin with a letter or underscore • No spaces or other special characters are allowed within a C++ variable name • Every programming language contains a few vocabulary words, or keywords, that you need in order to use the language

  31. 1 Common C++ Keywords

  32. 1 Working with Variables • A C++ keyword cannot be used as a variable name • Each named variable must have a type • C++ supports three simple types: • Integer — Floating point — Character • An integer is a whole number, either positive or negative • An integer value may be stored in an integer variable declared with the keyword int • You can also declare an integer variable using short int and long int

  33. 1 Working with Variables • Real or floating-point numbers are numbers that include decimal positions, such as 98.6, 1000.00002, and -3.85 • They may be stored in variables with type float, double, and long double • Characters may be stored in variables declared with the keyword char • A character may hold any single symbol in the ASCII character set • Often it contains a letter of the alphabet, but it could include a space, digit, punctuation mark, arithmetic symbol, or other special symbol

  34. 1 Working with Variables • In C++, a character value is always expressed in single quotes, such as ‘A’ or ‘&’ • To declare a variable, you list its type and its name • In addition, a variable declaration is a C++ statement, so it must end with a semicolon • If you write a function that contains variables of diverse types, each variable must be declared in a statement of its own • If you want to declare two or more variables of the same type, you may declare them in the same statement

  35. 1 Working with Variables • Explicitly stating the value of a variable is called assignment, and is achieved with the assignment operator = • The variable finalScore is declared and assigned a value at the same time • Assigning a value to a variable upon creation is often referred to as initializing the variable

  36. 1 The const Qualifier • A variable that does not change in a program should not be declared as a variable • Instead, it should be a constant • The statement const double MINIMUM_WAGE = 5.75; declares a constant named MINIMUM_WAGE that can be used like a variable, but cannot be changed during a program

  37. 1 Creating Comments • Comments are statements that do not affect the compiling or running of a program • Comments are simply explanatory remarks that the programmer includes in a program to clarify what is taking place • These remarks are useful to later program users because they might help explain the intent of a particular statement or the purpose of the entire program • C++ supports both line comments and block comments

  38. 1 Creating Comments • A line comment begins with two slashes (//) and continues to the end of the line on which it is placed • A block comment begins with a single slash and an asterisk (/*) and ends with an asterisk and a slash (*/); it might be contained on a single line or continued across many lines

  39. 1 Using Libraries and Preprocessor Directives • Header files are files that contain predefined values and routines, such as squrt( ) • Their filenames usually end in .h • In order for your C++ program to use these predefined routines, you must include a preprocessor directive, a statement that tells the compiler what to do before compiling the program • In C++, all preprocessor directives begin with a pound sign (#), which is also called an octothorp • The #include preprocessor directive tells the compiler to include a file as part of the finished product

  40. 1 C++ Output • C++ provides several objects for producing output • The simplest object is called cout, pronounced “see out” • When contained in a complete C++ program, the statement cout<<“Hi there”; places the phrase “Hi there” on the monitor

  41. 1 C++ Output • To indicate a newline character, you can use the escape sequence \n • Another way to advance output to a new line is to use the end line manipulator endl • Inserting endl into the output stream causes a new line plus all waiting output to become visible, a process called flushing the buffer • To create a program that declares two variables, assigns values to them, and creates output, perform the steps on pages 21 to 23 of the textbook

  42. 1 Program Listing for Output1.cpp

  43. 1 Output of Output1.cpp

  44. 1 C++ Input • Many programs rely on input from a user • These are called interactive programs because the user interacts with the program statements • You create prompts by using the cout object; you retrieve user responses by using the cin object • The cin (pronounced see in) object fetches values from the keyboard • It is used with the extraction operator >> • Prior to a cin statement, it is almost always necessary to provide the user with a prompt, or a short explanation of what is expected

  45. 1 C++ Input • Whitespace consists of any number of spaces, tabs, and Enter characters • You will add prompts and interactive input to the Output1.cpp program by following the instructions shown on pages 24 and 25 of the textbook

  46. 1 Output of Output2.cpp

  47. 1 C++ Classes and Objects • When you use data types like int, char, and double within a program, you are using the C++ built-in, primitive or scalar data types • A major feature of object-oriented languages is the ability to create your own new, complex data types • These new types are called classes • A class can contain many simpler data types within it, as well as any number of functions • The relationship between these components, or fields, is often called a has-a relationship

  48. 1 C++ Classes and Objects

  49. 1 A Complete Class Definition and a main( ) Method that Uses a Class Object

  50. 1 C++ Classes and Objects • You will create a Student class, and then create a program that uses a Student class object using the procedures outlined on pages 27 and 28 of the textbook • Creating a class provides a means to group data fields together in a logical way

More Related