0% found this document useful (0 votes)
61 views52 pages

Object Oriented Programming-It20301: Dr. Madasamy Raja, B.E, M.E., PH.D., Associate Professor

This document provides an overview of an Object Oriented Programming course titled IT20301 at Paavai Engineering College. The course objectives are to understand OOP concepts like classes, objects, inheritance, polymorphism; constructors and operator overloading; Java packages and arrays; interfaces and I/O streams. The syllabus covers introduction to OOP paradigm, classes and objects, encapsulation, abstraction, inheritance, polymorphism, and other fundamental C++ concepts.

Uploaded by

anushpriya
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
61 views52 pages

Object Oriented Programming-It20301: Dr. Madasamy Raja, B.E, M.E., PH.D., Associate Professor

This document provides an overview of an Object Oriented Programming course titled IT20301 at Paavai Engineering College. The course objectives are to understand OOP concepts like classes, objects, inheritance, polymorphism; constructors and operator overloading; Java packages and arrays; interfaces and I/O streams. The syllabus covers introduction to OOP paradigm, classes and objects, encapsulation, abstraction, inheritance, polymorphism, and other fundamental C++ concepts.

Uploaded by

anushpriya
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 52

OBJECT ORIENTED PROGRAMMING-IT20301

Dr. Madasamy Raja, B.E, M.E., Ph.D.,


Associate Professor,
Department of IT,
Paavai Engineering College,
NAMAKKAL
COURSE OBJECTIVES
To enable the students to :-

 Understand Object Oriented Programming concepts.


(UNIT-I)
Study the concept of Constructor and Operator
Overloading. (UNIT-II)
Compile of basic concepts of inheritance and the
utilization. (UNIT-III)
Know the concepts of Java using Packages and Arrays.
(UNIT-IV)
Use of Interface and I/O streams. (UNIT-V)
SYLLABUS-UNIT-I
INTRODUCTION
• Object-Oriented Paradigm - Elements of
Object Oriented Programming - Merits and
Demerits of OO Methodology - C++
fundamentals - Classes and Objects - Function
- Function overloading - Static data and
member functions - inline function.
HIERARCHY OF PROGRAMMING PARADIGMS
HISTORY OF PROGRAMMING LANGUAGES

• ALGOL-1958
• BASIC-1964
• C-1972
• C++-1980
• OBJECT ORIENTED CONCEPTS-1962
• Examples of object-oriented programming
languages are C++, Java, Smalltalk, Delphi, C#,
Perl, Python, Ruby, and PHP.
NEED OF OBJECT ORIENTED PARADIGM
Following are the disadvantages of procedural or structured
languages:

• Programs are divided into a set of functions which can share


data. Hence, no data security.
• Focus is on the code to perform the task but not on the data
needed.
• Data is shared globally by several functions which might lead
to logical errors.
• No restrictions on which functions can share the global data. 
OBJECT ORIENTED PARADIGM
• Object-oriented programming (OOP) is
a programming paradigm based upon objects
(having both data and methods) 
OBJECT-GENERAL
• An object is a real-world element that may
have a physical or a conceptual existence.
• Each object has −
– Identity that distinguishes it from other objects in
the system.
– characteristic properties of an object as well as
values of properties that the object holds.
– Behavior that represents externally visible
activities performed by an object
OBJECT-OOPS
• It is a run time entity
• Program objects occupies space in memory
• Object: Dog
- Data: name , breed, color
- Functions: Bark(), Eat(), wagging_Tail()
• Object contains some data and
code(functions) that manipulates the data
CLASS-OOPS
• An object can be made a user defined data type called
‘Class’
• N number of objects can be created from the class,
once created.
• Class is the collection of many objects with similar
type(same data type with same function).
• The first step in OOP is to collect all of the objects a
programmer wants to manipulate and identify how
they relate to each other which is known as 
data modeling.
CLASS-OBJECT EXAMPLE
Real time example-1:
– Fruit-class
– Mango, apple, orange-objects derived from the
class called fruit.
• Real time example-2:
– TV-class
– Flat TV, LCD TV, LED TV, OLED TV, Plasma TV-
objects derived from the class called TV.
CLASS-OBJECT EXAMPLE(Contd….)
• TV- Class
– Attributes: panel, remote type, smart support, etc.
– Methods: net connecting, USB connection,
changing the volume, etc.,

• TV- Class
– Attributes: panel, remote type, smart support, etc.
– Methods: net connecting, USB connection,
changing the volume, etc.,
CLASS-OBJECT EXAMPLE(Contd….)
• Programming point of view…
• Class- Circle
– Attributes: xcoord, ycoord, radius
– Methods: area(), circumference(), scale()
• Class: Student
- Data: name , DOB, Marks
- Functions: Average(), Age(), Grade()
Recap…

• Classes are user-defined data types that act as the blueprint


for individual objects, attributes and methods.
• Objects are instances of a class created with specifically
defined data.
• Methods are functions that are defined inside a class that
describe the behaviors of an object. Each method contained in
class definitions starts with a reference to an instance object.
• Attributes are defined in the class template and represent the
state of an object. Objects will have data stored in the
attributes field.
ELEMENTS OF OOPS

• Encapsulation
• Abstraction
• Inheritance
• Polymorphism
ENCAPSULATION
• Encapsulation is the process of binding both
attributes and methods together within a
class. Through encapsulation, the internal
details of a class can be hidden from outside.
• Data within a class cannot be accessed from
outside and only the methods within the class
can access those data. This is called as ‘Data
Hiding’ or ‘Information Hiding’
ABSTRACTION
• Act of including the needed information and
eliminating the irrelevant details
• Achieved through the concept encapsulation
• Classes are otherwise called as Abstract Data
Type(ADT)
INHERITANCE
• New classes can be created from existing classes by
extending and refining its properties
• The existing classes are called the base classes/parent
classes/super-classes, and the new classes are called the
derived classes/child classes/subclasses.
• The subclass can inherit or derive the attributes and
methods of the super-class(es).
• Besides, the subclass may add its own attributes and
methods and may modify any of the super-class
methods.
INHERITANCE-EXAMPLE
TYPES OF INHERITANCE
• Single Inheritance − A subclass derives from a single super-
class.
• Multiple Inheritance − A subclass derives from more than
one super-classes.
• Multilevel Inheritance − A subclass derives from a super-class
which in turn is derived from another class and so on.
• Hierarchical Inheritance − A class has a number of subclasses
each of which may have subsequent subclasses, continuing
for a number of levels, so as to form a tree structure.
• Hybrid Inheritance − A combination of multiple and
multilevel inheritance so as to form a lattice structure.
TYPES OF INHERITANCE(Contd…)
POLYMORPHISM
• Ability of variable, function or object to take
on different forms.
• Single method with different behaviours in the
same class or different classes is known as
polymorphism. 
• Behaviour depends upon the types of data
used in the method.
• Different operation in different instances
• Fine, bat, etc.,- Homograph
• Man- father, husband, friend, employee, etc.,
POLYMORPHISM
ADDITIONAL OOPS CONCEPTS-DYNAMIC
BINDING
• A block of code executed with reference to a
procedure(method) call is determined at run
time
• Otherwise called as Runtime Binding or Late
Binding
ADDITIONAL OOPS CONCEPTS-MESSAGE
PASSING
• Objects communicate with one another by
sending and receiving information to each
other. This is called Message Passing
• A message for an object is a request for
execution of a procedure and therefore will
invoke a function in the receiving object
• Message passing involves specifying the name
of the object, the name of the function and
the information to be sent.
ADDITIONAL OOPS CONCEPTS-MESSAGE
PASSING(Contd…)
MERITS OF OOPS
• Data Security-Data hiding
• Redundancy is reduced-Inheritance
• Data Centered approach- easily complete details of objects
can be implemented
• Can be easily implemented for the real life projects
• Easily partitioned into many modules based upon the Classes
• Communication between the modules cane be easily done-
Message Passing
• Scaling can be done easily
• Polymorphism saves much time and reduce the length of
coding
DEMERITS OF OOPS
• Unfamiliarity concepts needs more vigorous
training
• Data protection is needed since data centered
approach
• Inability to work with the existing systems
• Compile time and Runtime overhead
C++ FUNDAMENTALS
C++ FUNDAMENTALS-Contd..
// Simple C++ program to display "Hello World“-
Comments Section
ignored by C++
compiler
• #include<iostream>
using namespace std; - Header Section (Header file
for i/o
functions )
• int main() - main function
• {
•      cout<<"Hello World"; - body of the main program
• }
C++ FUNDAMENTALS-Contd..
 Variables

 Assignments

 Input and Output

 Data Types

 Operators

 Expressions
 Simple Flow of Control
VARIABLES
• Variables are like small blackboards
– We can write a number on them
– We can change the number
– We can erase the number
• C++ variables are names for memory locations
– We can write a value in them
– We can change the value stored there
– We cannot erase the memory location
• Some value is always there
VARIABLES (Contd…)
• Variables names are called identifiers
• Choosing variable names
– Use meaningful names that represent data to
be stored
– First character must be
• a letter
• the underscore character
– Remaining characters must be
• letters
• numbers
• underscore character
VARIABLES (Contd…)
• Keywords (also called reserved words)
– Are used by the C++ language
– Must be used as they are defined in
the programming language
– Cannot be used as identifiers
VARIABLES (Contd…)
• Before use, variables must be declared

– Tells the compiler the type of data to store


Examples: int number_of_bars;
double one_weight, total_weight;
– int is an abbreviation for integer.
• could store 3, 102, 3211, -456, etc.
• number_of_bars is of type integer
– double represents numbers with a fractional
component
• could store 1.34, 4.0, -345.6, etc.
• one_weight and total_weight are both of type double
VARIABLES (Contd…)
• Declaration syntax:
– Type_name Variable_1 , Variable_2, . . . ;

• Declaration Examples:
– double average, m_score, total_score;
– double moon_distance;
– int age, num_students;
– int cars_waiting;
ASSIGNMENTS
• An assignment statement changes the value of a variable
– total_weight = one_weight + number_of_bars;
• total_weight is set to the sum one_weight + number_of_bars

– Assignment statements end with a semi-colon

– The single variable to be changed is always on the left


of the assignment operator ‘=‘

– On the right of the assignment operator can be


• Constants -- age = 21;
• Variables -- my_cost = your_cost;
• Expressions -- circumference = diameter * 3.14159;
ASSIGNMENTS(Contd…)
• The ‘=‘ operator in C++ is not an equal sign
– The following statement cannot be true in algebra

number_of_bars = number_of_bars + 3;

– In C++ it means the new value of number_of_bars


is the previous value of number_of_bars plus 3
Initializing Variables
• Declaring a variable does not give it a value
– Giving a variable its first value is initializing the variable
• Variables are initialized in assignment statements

double mpg; // declare the variable


mpg = 26.3; // initialize the variable
• Declaration and initialization can be combined
using two methods
– double mpg = 26.3, area = 0.0 , volume;
INPUT AND OUTPUT
• A data stream is a sequence of data
– Typically in the form of characters or numbers

• An input stream is data for the program to use


– Typically originates
• at the keyboard
• at a file

• An output stream is the program’s output


– Destination is typically
• the monitor
• a file
INPUT AND OUTPUT(Contd…)
• cout is an output stream sending data to the monitor
• The insertion operator "<<" inserts data into cout
• Example:
cout << number_of_bars ;
– This line sends the following data to the monitor
• The value of number_of_bars

• Here arithmetic is performed in the cout


statement
cout << price + tax;
• Quoted strings are enclosed in double quotes
– Don’t use two single quotes (')
• cout << "Total cost is " << (price + tax);
INPUT AND OUTPUT(Contd…)
• cin is an input stream bringing data from the keyboard
• The extraction operator (>>) is used
• Example:
cout << "Enter the number of bars in a package";
cout << " and the weight in ounces of one bar";
cin >> number_of_bars;
cin >> one_weight;
• This code prompts the user to enter data then
reads two data items from cin
– The first value read is stored in number_of_bars
– The second value read is stored in one_weight
– cin >> v1 >> v2 >> v3;
DATA TYPES- int
• 2 and 2.0 are not the same number
– A whole number such as 2 is of type int
– A real number such as 2.0 is of type double

• Numbers of type int are stored as exact values


• Type int does not contain decimal points
• Examples: 34 45 1 89
DATA TYPES-double
• Numbers of type double may be stored as
approximate values due to limitations on
number of significant digits that can be
represented
• Type double can be written in two ways
– Simple form must include a decimal point
• Examples: 34.1 23.0034 1.0 89.9
DATA TYPES-float
– Floating Point Notation (Scientific Notation)
• Examples: 3.41e1 means 34.1
3.67e17 means
367000000000000000.0
5.89e-6 means 0.00000589
– Number left of e does not require a decimal point
– Exponent cannot contain a decimal point
• Various number types have different memory
requirements
– More precision requires more bytes of memory
– Very large numbers require more bytes of memory
– Very small numbers require less bytes of memory
DATA TYPES- char
– Can be any single character from the keyboard
• To declare a variable of type char:
• Character constants are enclosed in single
quotes
char letter = 'a';
• "amma" is a string of characters containing more
than one character
• char symbol1, symbol2;
cin >> symbol1 >> symbol2;
DATA TYPES-Type Compatibilities
– This is a type mismatch: int int_variable;
int_variable = 2.99;

– If your compiler allows this, int_variable will


most likely contain the value 2, not 2.99
• It is possible to store char values in integer
variables
int value = 'A';
value will contain an integer representing 'A'

• It is possible to store int values in char


variables
char letter = 65;
OPERATORS
• Arithmetic Operation is performed with operators
+ for addition
- for subtraction
* for multiplication
/ for division
Example: storing a product in the variable
total_weight

total_weight = one_weight * number_of_bars;

– An operand is a number or variable


used by the operator
OPERATORS-Contd…
• Be careful with the division operator!
– int / int produces an integer result

int dividend, divisor, quotient;


dividend = 5;
divisor = 3;
quotient = dividend / divisor;

– The value of quotient is 1, not 1.666…


– Integer division does not round the result, the
fractional part is discarded!
OPERATORS-Contd…
• % operator gives the remainder from integer
division

int dividend, divisor, remainder;


dividend = 5;
divisor = 3;
remainder = dividend % divisor;

The value of remainder is 2


EXPRESSIONS
• Expressions are combinations of both
Operands and Operators
• Precedence rules for operators are the same
as used in your algebra classes(BODMAS)
• Use parentheses to alter the order of
operations
x + y * z ( y is multiplied by z first)
(x + y) * z ( x and y are added first)
FLOW OF CONTROL

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy