Object Oriented Programming
CSE-0613-2203
Basic Concepts Of Objects Oriented Programmin
Md. Riadul Islam
Assistant Professor
Dept. of Computer Science and Engineering(CSE)
University of Global Village (UGV)
Introduction to
programming languages
Introduction
Programmers write instructions in various
programming languages to perform their
computation tasks such as:
Machine level Language
Assembly level Language
High level Language
Md. Riadul Islam, Lecture Dept. of CSE
09/21/2025 3
University of Global Village (UGV)
Machine level Language
Machine code or machine language is a set of
instructions executed directly by a computer's
central processing unit (CPU).
instruction performs a very specific task, such
as a load, a jump, or an ALU operation on a unit
of data in a CPU register or memory.
Every program directly executed by a CPU is
made up of a series of such instructions.
Md. Riadul Islam, Lecture Dept. of CSE
09/21/2025 4
University of Global Village (UGV)
Assembly level Language
An assembly language (or assembler language) is a
low-level programming language for a computer, or
other programmable device, in which there is a very
strong (generally one-to-one) correspondence between
the language and the architecture's machine code
instructions.
Assembly language is converted into executable
machine code by a utility program referred to as an
assembler; the conversion process is referred to as
assembly, or assembling the code.
Md. Riadul Islam, Lecture Dept. of CSE
09/21/2025 5
University of Global Village (UGV)
High level Language
High-level language is any programming language that enables
development of a program in much simpler programming context and
is generally independent of the computer's hardware architecture.
High-level language has a higher level of abstraction from the
computer, and focuses more on the programming logic rather than
the underlying hardware components such as memory addressing and
register utilization.
The first high-level programming languages were designed in the
1950s. Now there are dozens of different languages, including Ada ,
Algol, BASIC, COBOL, C, C++, JAVA, FORTRAN, LISP, Pascal, and
Prolog.
Md. Riadul Islam, Lecture Dept. of CSE
09/21/2025 6
University of Global Village (UGV)
High level Language
The high-level programming languages are
broadly categorized in to two categories:
Procedure oriented programming(POP)
language.
Object oriented programming(OOP) language.
Md. Riadul Islam, Lecture Dept. of CSE
09/21/2025 7
University of Global Village (UGV)
Procedure oriented
programming(POP)
language
Procedure Oriented Programming
Language
In the procedure oriented approach, the problem is viewed as sequence
of things to be done such as reading , calculation and printing.
Procedure oriented programming basically consist of writing a list of
instruction or actions for the computer to follow and organizing these
instruction into groups known as functions.
Md. Riadul Islam, Lecture Dept. of CSE
09/21/2025 9
University of Global Village (UGV)
Procedure Oriented Programming
Language
The disadvantage of the procedure oriented programming languages
is:
Global data access
It does not model real word problem very well
No data hiding
Md. Riadul Islam, Lecture Dept. of CSE
09/21/2025 10
University of Global Village (UGV)
Characteristics of procedure
oriented programming
Emphasis is on doing things(algorithm)
Large programs are divided into smaller programs known
as functions.
Most of the functions share global data
Data move openly around the system from function to
function
Function transforms data from one form to another.
Employs top-down approach in program design
Md. Riadul Islam, Lecture Dept. of CSE
09/21/2025 11
University of Global Village (UGV)
Object oriented
programming(OOP)
language
Object oriented programming(OOP)
language
“Object oriented programming
is an approach that provides a
way of modularizing programs
by creating partitioned
memory area for both data and
functions that can be used as
templates for creating copies
of such modules on demand”.
Md. Riadul Islam, Lecture Dept. of CSE
09/21/2025 13
University of Global Village (UGV)
Features of the Object Oriented
programming
Features of the Object Oriented programming
Emphasis is on doing rather than procedure.
programs are divided into what are known as objects.
Data structures are designed such that they characterize the objects.
Functions that operate on the data of an object are tied together in the
data structure.
Data is hidden and can’t be accessed by external functions.
Objects may communicate with each other through functions.
New data and functions can be easily added.
Follows bottom-up approach in program design.
Md. Riadul Islam, Lecture Dept. of CSE
09/21/2025 14
University of Global Village (UGV)
Basic Concepts Of
OOP
Basic Concepts Of OOP
Objects
Classes
Data abstraction and encapsulation
Inheritance
Polymorphism
Dynamic binding
Message passing
Md. Riadul Islam, Lecture Dept. of CSE
09/21/2025 16
University of Global Village (UGV)
Objects
Objects
Objects are the basic run-time entities in an
object-oriented system. They may represent a
person, a place, a bank account, a table of data or
any item that the program must handle.
The fundamental idea behind object oriented
approach is to combine both data and function into
a single unit and these units are called objects.
Md. Riadul Islam, Lecture Dept. of CSE
09/21/2025 17
University of Global Village (UGV)
Objects
The term objects means a
combination of data and program
that represent some real word
entity.
The program part of the object
may be collection of programs
In general even any user –defined
type-such as employee may be
used.
Md. Riadul Islam, Lecture Dept. of CSE
09/21/2025 18
University of Global Village (UGV)
Classes
Class:
A group of objects that share common properties
for data part and some program part are
collectively called as class.
In C ++ a class is a new data type that contains
member variables and member functions that
operate on the variables.
Md. Riadul Islam, Lecture Dept. of CSE
09/21/2025 19
University of Global Village (UGV)
Data Abstraction
Data Abstraction :
Abstraction refers to the act of representing
essential features without including the back ground
details or explanations.
Classes use the concept of abstraction and are
defined as size, width and cost and functions to
operate on the attributes.
Md. Riadul Islam, Lecture Dept. of CSE
09/21/2025 20
University of Global Village (UGV)
Data Encapsulation
Data Encapsulation :
The wrapping up of data and function into a single
unit (called class) is known as encapsulation.
The data is not accessible to the outside world and
only those functions which are wrapped in the class
can access it.
These functions provide the interface between the
objects data and the program.
Md. Riadul Islam, Lecture Dept. of CSE
09/21/2025 21
University of Global Village (UGV)
Inheritance
Inheritance is the process by
which objects of one class acquire
the properties of another class.
In the concept of inheritance
provides the idea of reusability.
This mean that we can add
additional features to an existing
class with out modifying it.
This is possible by designing a
new class will have the combined
features of both the classes.
Md. Riadul Islam, Lecture Dept. of CSE
09/21/2025 22
University of Global Village (UGV)
Polymorphism
Polymorphism means the ability to take
more than one form. An operation may
exhibit different instance. The behaviour
depends upon the type of data used in the
operation.
A language feature that allows a function or
operator to be given more than one
definition. The types of the arguments with
which the function or operator is called
determines which definition will be used.
Overloading may be operator overloading
or function overloading.
Md. Riadul Islam, Lecture Dept. of CSE
09/21/2025 23
University of Global Village (UGV)
Dynamic binding
Dynamic binding :
Binding refers to the linking of a procedure call
to the code to the executed in response to the call.
Dynamic binding means the code associated with
a given procedure call is not known untill the time
of the call at run-time.
It is associated with a polymorphic reference
depends upon the dynamic type of that reference.
Md. Riadul Islam, Lecture Dept. of CSE
09/21/2025 24
University of Global Village (UGV)
Message Passing
Message passing :
An object oriented program consists of a set of objects
that communicate with each other.
A message for an object is a request for execution of a
procedure and therefore will invoke a function (procedure)
in the receiving object that generates the desired result.
Message passing involves specifying the name of the
object, the name of the function (message) and
information to be sent.
Md. Riadul Islam, Lecture Dept. of CSE
09/21/2025 25
University of Global Village (UGV)
Benefits of OOP
Benefits of OOP:
OOP offers several benefits to both the program designer and the user. Object-
oriented contributes to the solution of many problems associated with the
development and quality of software products. The principal advantages are :
Through inheritance we can eliminate redundant code and extend the use of
existing classes.
We can build programs from the standard working modules that communicate
with one another, rather than having to start writing the code from scratch.
This leads to saving of development time and higher productivity.
This principle of data hiding helps the programmer to build secure programs
that can’t be invaded by code in other parts of the program.
Md. Riadul Islam, Lecture Dept. of CSE
09/21/2025 26
University of Global Village (UGV)
Benefits of OOP
It is possible to have multiple instances of an object to co-
exist with out any interference.
It is easy to partition the work in a project based on objects.
Object-oriented systems can be easily upgraded from small
to large systems.
Message passing techniques for communication between
objects makes the interface description with external
systems much simpler.
Software complexity can be easily managed.
Md. Riadul Islam, Lecture Dept. of CSE
09/21/2025 27
University of Global Village (UGV)
Application of OOP
Application of oop:
The most popular application of oops up to now, has
been in the area of user interface design such as
windows. There are hundreds of windowing systems
developed using OOP techniques.
Real business systems are often much more complex
and contain many more objects with complicated
attributes and methods. OOP is useful in this type of
applications because it can simplify a complex problem.
Md. Riadul Islam, Lecture Dept. of CSE
09/21/2025 28
University of Global Village (UGV)
Application of OOP
The promising areas for application of OOP includes.
Real – time systems.
Simulation and modeling
Object oriented databases.
Hypertext,hypermedia and expertext.
Al and expert systems.
Neural networks and parallel programming.
Dicision support and office automation systems.
Cim / cam / cad system.
Md. Riadul Islam, Lecture Dept. of CSE
09/21/2025 29
University of Global Village (UGV)