Object Oriented Programming Paradigm
Lecture - Basics of Object Oriented Programming Paradigm
Lecture by
G.Madhupriya
Assoc. Prof.,
Dept. of CSE,
TCE.
gmadhupriya@tce.edu
CO2 - Solve engineering problems using imperative paradigm based
sequential programming.
Object Oriented Programming Paradigm
• Real world entity – properties (attributes or data) + functions (methods)
combined together (Grouping of Data and Operations)
• Procedure and Data – Encapsulated
• Class – Data and methods of real world entities combined together -
Encapsulation
• OOPS evolved with the representation of classes
• Because of the development of ever-more complicated computer
applications, data abstraction has become essential to software
engineering
• Procedural Abstraction (Procedural programming paradigm) and Data
Abstraction - Abstraction in OOPS
• Abstraction in OOPS – Information Hiding
• Object-oriented programming can be seen as an attempt to enhance
opportunities for code and data reuse by making it easy to define new
abstractions as extensions or refinements of existing abstractions
Object Oriented Programming Paradigm
• The three fundamental concepts of object-oriented
programming namely encapsulation, inheritance, and dynamic
method binding—have their roots in the Simula programming
language, developed in the mid-1960s.
• Simula was weak in the data hiding part of encapsulation
• Then Clu, Modula, Euclid, and related languages made
important contributions in the 1970s in the data hiding part.
• At the same time, the ideas of inheritance and dynamic method
binding were adopted and refined in Smalltalk over the course
of the 1970s.
• Smalltalk employs a distinctive “message-based” programming
model, with dynamic typing and unusual terminology and
syntax.
Object Oriented Programming Paradigm
• The dynamic typing tends to make Smalltalk implementations
relatively slow, and delays the reporting of errors.
• More recent object-oriented languages, including Eiffel, C++,
Modula-3, Ada 95, Fortran 2003, Python, Ruby, Java, and C#
represent to a large extent a reintegration of the inheritance and
dynamic method binding of Smalltalk with “mainstream”
imperative syntax and semantics.
Object Oriented Programming Paradigm
• Emphasize is on objects
• Objects – collection of data, properties and methods to be
handled on the data
• Classes and objects with procedural design
• Communication between objects is based on method calling in
the programming language
• The Design principles of OOPS languages are
• Encapsulation, Abstraction, Inheritance, polymorphism ,
Reusability, data security, Information hiding etc.
• Simula , Clu, Modula, Euclid, Smalltalk, Eiffel, C++, Modula-3,
Ada 95, Fortran 2003, Python, Ruby, Java, and C# are the OOPS
languages
Object Oriented Programming Paradigm
• OOP is based on the sending of messages to objects. Objects
respond to messages by performing operations, generally called
methods. Messages can have arguments
• A set of objects, each with their own local memory and own
set of operations has a different feel than the monolithic
processor and single shared memory feel of non object oriented
languages
• One of the more visible aspects of the more pure form of OO
languages is that conditionals and loops become messages
themselves, whose arguments are often blocks of executable
code
• Many popular languages that call themselves OO languages
(e.g., Java, C++), really just take some elements of OOP and mix
them in to imperative-looking code
Thank You