0% found this document useful (0 votes)
43 views

Object Oriented Programming Paradigm

This document provides an overview of object-oriented programming paradigms. It discusses key concepts like encapsulation, inheritance, and dynamic method binding that have roots in early languages like Simula. It also describes how more recent languages have integrated these concepts with mainstream imperative syntax. The document outlines characteristics of object-oriented programming like representing real-world entities as objects that combine data and functions. It provides examples of object-oriented languages like Simula, Smalltalk, C++, Java, and others.

Uploaded by

Shabari Prakash
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
43 views

Object Oriented Programming Paradigm

This document provides an overview of object-oriented programming paradigms. It discusses key concepts like encapsulation, inheritance, and dynamic method binding that have roots in early languages like Simula. It also describes how more recent languages have integrated these concepts with mainstream imperative syntax. The document outlines characteristics of object-oriented programming like representing real-world entities as objects that combine data and functions. It provides examples of object-oriented languages like Simula, Smalltalk, C++, Java, and others.

Uploaded by

Shabari Prakash
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

Object Oriented Programming Paradigm

Lecture - Basics of Object Oriented Programming Paradigm

Lecture by
G.Madhupriya
Assoc. Prof.,
Dept. of CSE,
TCE.
[email protected]
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

You might also like