Title: An Overview of Object-Oriented Programming and C
1An Overview of Object-Oriented Programming and C
1
- Object-Oriented Programming Using C
- Second Edition
2Objectives
1
- 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
3Objectives
1
- 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
4The Task of Programming
1
- 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
5The Task of Programming
1
- 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, doesnt 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
6Programming Universals
1
- 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)
7Programming Universals
1
- 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
8Programming Universals
1
- 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)
9Procedural Programming
1
- 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
10Early Procedural Programs
1
- When programming languages were first used, the
programmers 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
11Early Procedural Programs
1
- Procedural programs also can include a second
control structure called selection, which you use
to perform different tasks based on a condition
12Early Procedural Programs
1
- The third control structure used in computer
programs is the loop - some programmers call the loop structure a
repetition or iteration structure
13Adding a Loop to a Simple Procedural Billing
Program
1
14Modularity and Abstraction
1
- 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
15Modularity and Abstraction
1
16The Procedural Billing Program Containing Several
Module Calls
1
17Encapsulation
1
- 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
encapsulatedwhich helps to make the module
independent of all other modules, and therefore
reusable
18Object-Oriented Programming
1
- Object-oriented programming requires a different
way of thinking and adds several new concepts to
programming - You analyze the objects with which you are
workingboth 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
19Object-Oriented Programming
1
- 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
20Object-Oriented Programming
1
- The basic principles behind using object-oriented
programming techniques involve - Objects
- Classes
- Inheritance
- Polymorphism
21Objects and Classes
1
- 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
22Inheritance
1
- 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
23Polymorphism
1
- 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
24Getting Started in the C Programming Environment
1
- 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
25Getting Started in the C Programming Environment
1
- When you compile, the code you have written is
transformed into machine languagethe 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
26Getting Started in the C Programming Environment
1
- 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
27Creating a main( ) Function
1
- 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
28Creating a main( ) Function
1
- 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
29Creating a main( ) Function
1
- 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
30Working with Variables
1
- 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
31Common C Keywords
1
32Working with Variables
1
- 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
33Working with Variables
1
- 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
34Working with Variables
1
- 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
35Working with Variables
1
- 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
36The const Qualifier
1
- 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
37Creating Comments
1
- 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
38Creating Comments
1
- 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
39Using Libraries and Preprocessor Directives
1
- 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
40C Output
1
- 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 coutltltHi there places the phrase Hi
there on the monitor
41C Output
1
- 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
42Program Listing for Output1.cpp
1
43Output of Output1.cpp
1
44C Input
1
- 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 gtgt
- 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
45C Input
1
- 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
46Output of Output2.cpp
1
47C Classes and Objects
1
- 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
48C Classes and Objects
1
49A Complete Class Definition and a main( ) Method
that Uses a Class Object
1
50C Classes and Objects
1
- 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
51Summary
1
- 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
52Summary
1
- 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
53Summary
1
- 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