Top Banner
An Overview of Object-Oriented Programming and C++ Object-Oriented Programming Using C++ Second Edition 1
53

An Overview of Object-Oriented Programming and C++ Object-Oriented Programming Using C++ Second Edition 1.

Dec 20, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: An Overview of Object-Oriented Programming and C++ Object-Oriented Programming Using C++ Second Edition 1.

An Overview of Object-Oriented Programming and C++

Object-Oriented Programming Using C++

Second Edition

1

Page 2: 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

• About the C++ programming environment

• How to create a main() function

1

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

1

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

1

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

1

Page 6: An Overview of Object-Oriented Programming and C++ Object-Oriented Programming Using C++ Second Edition 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)

1

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

1

Page 8: An Overview of Object-Oriented Programming and C++ Object-Oriented Programming Using C++ Second Edition 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)

1

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

1

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

1

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

1

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

1

Page 13: An Overview of Object-Oriented Programming and C++ Object-Oriented Programming Using C++ Second Edition 1.

Adding a Loop to a Simple Procedural Billing Program

1

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

1

Page 15: An Overview of Object-Oriented Programming and C++ Object-Oriented Programming Using C++ Second Edition 1.

Modularity and Abstraction

1

Page 16: An Overview of Object-Oriented Programming and C++ Object-Oriented Programming Using C++ Second Edition 1.

The Procedural Billing Program Containing Several Module Calls

1

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

1

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

1

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

1

Page 20: An Overview of Object-Oriented Programming and C++ Object-Oriented Programming Using C++ Second Edition 1.

Object-Oriented Programming

• The basic principles behind using object-

oriented programming techniques involve:

– Objects

– Classes

– Inheritance

– Polymorphism

1

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

1

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

1

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

1

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

1

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

1

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

1

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

1

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

1

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

1

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

1

Page 31: An Overview of Object-Oriented Programming and C++ Object-Oriented Programming Using C++ Second Edition 1.

Common C++ Keywords

1

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

1

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

1

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

1

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

1

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

1

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

1

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

1

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

1

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

1

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

1

Page 42: An Overview of Object-Oriented Programming and C++ Object-Oriented Programming Using C++ Second Edition 1.

Program Listing for Output1.cpp

1

Page 43: An Overview of Object-Oriented Programming and C++ Object-Oriented Programming Using C++ Second Edition 1.

Output of Output1.cpp

1

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

1

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

1

Page 46: An Overview of Object-Oriented Programming and C++ Object-Oriented Programming Using C++ Second Edition 1.

Output of Output2.cpp

1

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

1

Page 48: An Overview of Object-Oriented Programming and C++ Object-Oriented Programming Using C++ Second Edition 1.

C++ Classes and Objects

1

Page 49: An Overview of Object-Oriented Programming and C++ Object-Oriented Programming Using C++ Second Edition 1.

A Complete Class Definition and a main( ) Method that

Uses a Class Object

1

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

1

Page 51: An Overview of Object-Oriented Programming and C++ Object-Oriented Programming Using C++ Second Edition 1.

Summary

• Programming a computer involves learning the syntax of a computer programming language and resolving logical errors

• All programming languages provide methods for input and output of variable values

• You declare a variable by providing it with a name and a type

• Procedural programs consist of a series of steps or procedures that take place one after the other

• Object-oriented programming adds several new programming concepts including objects, classes, inheritance, and polymorphism

1

Page 52: An Overview of Object-Oriented Programming and C++ Object-Oriented Programming Using C++ Second Edition 1.

Summary

• You write a C++ program by typing source code into an editor and compiling the program

• C++ modules are called functions, and each function contains a header and a body

• C++ variables must be given a type and a name

• Simple types include integer for whole numbers, double and float for floating-point values, and character for any character

• Comments are non-executing program statements

1

Page 53: An Overview of Object-Oriented Programming and C++ Object-Oriented Programming Using C++ Second Edition 1.

Summary

• C++ supports line comments and block comments

• A preprocessor directive tells the compiler to do something, such as to include a header file, before compiling the program

• The cout statement (along with an insertion operator) is used to display values

• When you create a class, you create your own C++ data type, which is a complex type composed of simpler types

1