Impact of Object-Oriented Concept
in Programming Languages
SHIVAM JOSHI
•B.Tech, IT Department( 6th semester )
1
CONTENTS
 INTRODUCTION TO OOPS
 HISTORY OF OOPS
 APPLICATION OF OOPS
 OBJECT ORIENTED LANGUAGES
 CONCEPT OF CLASSES AND OBJECTS
 DATA HIDING
 ABSTRACTION
 ENCAPSULATION
 INHERITANCE
 POLYMORPHISM
 IMPACT OF LANGUAGES NOT USING OOPS
 CONCLUSION
 REFERENCES
2
INTRODUCTION TO OOPS
A Program is a set of instructions to be executed by the
machine. A program takes input in the form of data, processes
it, and generates result. OOP makes the program length short
and increases its reusability.
An object oriented programming language is a high level
language which is legible for people and needs translation for
the machine (compiler or interpreter).
In the program design, bottom-up approach is followed.
Programs are organized around objects and grouped in classes.
Objects can interact through functions.
Design can be reused.
3
HISTORY OF OBJECT-ORIENTED
PROGRAMMING
 SIMULA I (1962-65) and SIMULA 67 (1967) were the first
two object-oriented languages.
 Developed at the Norwegian Computing Center, Oslo,
Norway by Ole-Johan Dahl and Kristen Nygaard .
 SIMULA 67 introduced most of the key concepts of object-
oriented programming: objects and classes, subclasses
(“inheritance”), virtual procedures.
4
APPLICATIONS OF OOPS
OOP has become one of the programming buzz words today.
The promising areas of application of OOP include:
1. Real-time system,
2. Simulation and modelling,
3. Object-oriented data bases,
4. Hypertext and Hypermedia,
5. AI and expert systems,
6. Neural networks and parallel programming,
7. Decision support and office automation systems, etc…
5
OBJECT ORIENTED LANGUAGES
C++ ( developed by Bjarne Stroustrup )
C# ( developed by Microsoft )
Eiffel ( developed by Bertrand Meyer and Eiffel Software)
Falcon ( developed by Falcon Committee )
Java ( developed by James Gosling )
Perl since v5 ( developed by Larry Wall )
PHP5 ( developed by The PHP Development Team, Zend
Technologies)
Python ( developed by Python Software Foundation ) , etc…
6
Concept of Class and Object
 “Class” refers to a blueprint. It define variables and methods,
the object supports. It is the basic unit of Encapsulation. It is
also defined as the Collection of a similar types of objects.
 “Object” is an instance(Properties) of a class. Each object has
a class which defines its data and behavior.
7
EXAMPLE OF AN OBJECT8
EXAMPLE OF A CLASS9
DATA HIDING
 Data Hiding means to hide our internal data such that outside
person can’t access our internal data directly or our internal
data should not go out directly. After verification only, the
internal data can be accessed.
Advantage : The main advantage of using Data Hiding is that
it makes the data secure, that is, security is achieved.
10
EXAMPLE
 To access our data stored in Google Drive, we need to
provide correct username and correct password.
11
ABSTRACTION
Abstraction means to hide internal implementation and just
highlighting the set of services necessary for the user.
Advantages :
1. Security,
2. Enhancement will become effortless,
3. Easiness is improved, and
4. Maintainability
12
EXAMPLE
In a mobile phone screen, the company highlights the set of
services they want without highlighting the internal
implementation.
13
ENCAPSULATION
Encapsulation means the process of binding data and
corresponding methods or behavior into a single unit.
Encapsulation is the combination of Data Hiding and
Abstraction.
Advantages :
1. Security can be achieved,
2. Maintainability of application is improved, and
3. Enhancement will become effortless
14
EXAMPLE ( In Java )15
INHERITANCE
Inheritance means that the newly created object can take on the
properties of existing objects. The class which allows its
properties to be inherited is called super class and the class
which inherits is called subclass.
There are different types of Inheritance provided by OOP
which are listed as follows:
1. Single Inheritance,
2. Multi-level Inheritance,
3. Multiple Inheritance,
16
INHERITANCE ( cont. )
4. Multipath Inheritance,
5. Hierarchical Inheritance, and
6. Hybrid Inheritance.
Advantage: The advantage of using Inheritance is
reusability of code.
17
EXAMPLE18
EXAMPLE ( In Java )19
POLYMORPHISM
“Poly”= Many, “Morphism”= forms
Polymorphism means one name but multiple forms.
Advantages :
1. Less code length, and
2. Flexibility
20
EXAMPLE
World
India China USA
Rajasthan New delhi Washington New york
21
EXAMPLE ( In Java )22
3 PILLARS OF OOPS23
IMPACT OF LANGUAGES NOT USING
OOP
In old models, one part should be completed before the next
part. This creates a problem in design, particularly if errors
came up or requirements change.
The starting cost of building the system is high in old models.
Since the whole system needs to be designed at once. Thus,
leaving very little chance of adding functionality later.
Old models do not support reusability of code. So, the time and
cost of development is obviously more.
24
CONCLUSION
OOP is far better than old programming method, provides the
benefit of reusing code and easy maintenance of application.
It provides many features to the user which helps in decreasing
the workload and provides a broad way to build heavy
applications easily.
OOP provides security through Abstraction .
It provides easy enhancement.
Thus, OOP has a vital role in present scenario and its usage is
increasing in every programming module.
25
REFERENCES
1) Abadi, Martin; Cardelli, Luca (1996). A Theory of Objects.
Springer-Verlag New York, Inc.
2) Armstrong, Joe. In Coders at Work: Reflections on the Craft
of Programming. Peter Seibel, ed. Codersatwork.com.
3) Cardelli, Luca (1996). "Bad Engineering Properties of Object-
Oriented Languages".
4) Hoare, C. A. (Nov 1965). "Record Handling". ALGOL
Bulletin (21): 39–69. doi:10.1145/1061032.1061041.
26
REFERENCES ( cont. )
5) Holmevik, Jan Rune (1994). "Compiling Simula: A historical study
of technological genesis". IEEE Annals of the History of
Computing 16.
6) Jacobsen, Ivar; Magnus Christerson; PatrikJonsson; Gunnar
Overgaard (1992). Object Oriented Software Engineering.
Addison-Wesley ACM Press. pp. 43–69.
7) Kindler, E.; Krivy, I. (2011). Object-Oriented Simulation of
systems with sophisticated control. International Journal of
General Systems. pp. 313–343.
8) Lewis, John; Loftus, William (2008). Java Software Solutions
Foundations of Programming Design 6th ed. Pearson Education.
9) Potok, Thomas; MladenVouk; Andy Rindos (1999). "Productivity
Analysis of Object-Oriented Software Developed in a Commercial
Environment".
27
28
29

Object Oriented Programming

  • 1.
    Impact of Object-OrientedConcept in Programming Languages SHIVAM JOSHI •B.Tech, IT Department( 6th semester ) 1
  • 2.
    CONTENTS  INTRODUCTION TOOOPS  HISTORY OF OOPS  APPLICATION OF OOPS  OBJECT ORIENTED LANGUAGES  CONCEPT OF CLASSES AND OBJECTS  DATA HIDING  ABSTRACTION  ENCAPSULATION  INHERITANCE  POLYMORPHISM  IMPACT OF LANGUAGES NOT USING OOPS  CONCLUSION  REFERENCES 2
  • 3.
    INTRODUCTION TO OOPS AProgram is a set of instructions to be executed by the machine. A program takes input in the form of data, processes it, and generates result. OOP makes the program length short and increases its reusability. An object oriented programming language is a high level language which is legible for people and needs translation for the machine (compiler or interpreter). In the program design, bottom-up approach is followed. Programs are organized around objects and grouped in classes. Objects can interact through functions. Design can be reused. 3
  • 4.
    HISTORY OF OBJECT-ORIENTED PROGRAMMING SIMULA I (1962-65) and SIMULA 67 (1967) were the first two object-oriented languages.  Developed at the Norwegian Computing Center, Oslo, Norway by Ole-Johan Dahl and Kristen Nygaard .  SIMULA 67 introduced most of the key concepts of object- oriented programming: objects and classes, subclasses (“inheritance”), virtual procedures. 4
  • 5.
    APPLICATIONS OF OOPS OOPhas become one of the programming buzz words today. The promising areas of application of OOP include: 1. Real-time system, 2. Simulation and modelling, 3. Object-oriented data bases, 4. Hypertext and Hypermedia, 5. AI and expert systems, 6. Neural networks and parallel programming, 7. Decision support and office automation systems, etc… 5
  • 6.
    OBJECT ORIENTED LANGUAGES C++( developed by Bjarne Stroustrup ) C# ( developed by Microsoft ) Eiffel ( developed by Bertrand Meyer and Eiffel Software) Falcon ( developed by Falcon Committee ) Java ( developed by James Gosling ) Perl since v5 ( developed by Larry Wall ) PHP5 ( developed by The PHP Development Team, Zend Technologies) Python ( developed by Python Software Foundation ) , etc… 6
  • 7.
    Concept of Classand Object  “Class” refers to a blueprint. It define variables and methods, the object supports. It is the basic unit of Encapsulation. It is also defined as the Collection of a similar types of objects.  “Object” is an instance(Properties) of a class. Each object has a class which defines its data and behavior. 7
  • 8.
  • 9.
  • 10.
    DATA HIDING  DataHiding means to hide our internal data such that outside person can’t access our internal data directly or our internal data should not go out directly. After verification only, the internal data can be accessed. Advantage : The main advantage of using Data Hiding is that it makes the data secure, that is, security is achieved. 10
  • 11.
    EXAMPLE  To accessour data stored in Google Drive, we need to provide correct username and correct password. 11
  • 12.
    ABSTRACTION Abstraction means tohide internal implementation and just highlighting the set of services necessary for the user. Advantages : 1. Security, 2. Enhancement will become effortless, 3. Easiness is improved, and 4. Maintainability 12
  • 13.
    EXAMPLE In a mobilephone screen, the company highlights the set of services they want without highlighting the internal implementation. 13
  • 14.
    ENCAPSULATION Encapsulation means theprocess of binding data and corresponding methods or behavior into a single unit. Encapsulation is the combination of Data Hiding and Abstraction. Advantages : 1. Security can be achieved, 2. Maintainability of application is improved, and 3. Enhancement will become effortless 14
  • 15.
    EXAMPLE ( InJava )15
  • 16.
    INHERITANCE Inheritance means thatthe newly created object can take on the properties of existing objects. The class which allows its properties to be inherited is called super class and the class which inherits is called subclass. There are different types of Inheritance provided by OOP which are listed as follows: 1. Single Inheritance, 2. Multi-level Inheritance, 3. Multiple Inheritance, 16
  • 17.
    INHERITANCE ( cont.) 4. Multipath Inheritance, 5. Hierarchical Inheritance, and 6. Hybrid Inheritance. Advantage: The advantage of using Inheritance is reusability of code. 17
  • 18.
  • 19.
    EXAMPLE ( InJava )19
  • 20.
    POLYMORPHISM “Poly”= Many, “Morphism”=forms Polymorphism means one name but multiple forms. Advantages : 1. Less code length, and 2. Flexibility 20
  • 21.
    EXAMPLE World India China USA RajasthanNew delhi Washington New york 21
  • 22.
    EXAMPLE ( InJava )22
  • 23.
  • 24.
    IMPACT OF LANGUAGESNOT USING OOP In old models, one part should be completed before the next part. This creates a problem in design, particularly if errors came up or requirements change. The starting cost of building the system is high in old models. Since the whole system needs to be designed at once. Thus, leaving very little chance of adding functionality later. Old models do not support reusability of code. So, the time and cost of development is obviously more. 24
  • 25.
    CONCLUSION OOP is farbetter than old programming method, provides the benefit of reusing code and easy maintenance of application. It provides many features to the user which helps in decreasing the workload and provides a broad way to build heavy applications easily. OOP provides security through Abstraction . It provides easy enhancement. Thus, OOP has a vital role in present scenario and its usage is increasing in every programming module. 25
  • 26.
    REFERENCES 1) Abadi, Martin;Cardelli, Luca (1996). A Theory of Objects. Springer-Verlag New York, Inc. 2) Armstrong, Joe. In Coders at Work: Reflections on the Craft of Programming. Peter Seibel, ed. Codersatwork.com. 3) Cardelli, Luca (1996). "Bad Engineering Properties of Object- Oriented Languages". 4) Hoare, C. A. (Nov 1965). "Record Handling". ALGOL Bulletin (21): 39–69. doi:10.1145/1061032.1061041. 26
  • 27.
    REFERENCES ( cont.) 5) Holmevik, Jan Rune (1994). "Compiling Simula: A historical study of technological genesis". IEEE Annals of the History of Computing 16. 6) Jacobsen, Ivar; Magnus Christerson; PatrikJonsson; Gunnar Overgaard (1992). Object Oriented Software Engineering. Addison-Wesley ACM Press. pp. 43–69. 7) Kindler, E.; Krivy, I. (2011). Object-Oriented Simulation of systems with sophisticated control. International Journal of General Systems. pp. 313–343. 8) Lewis, John; Loftus, William (2008). Java Software Solutions Foundations of Programming Design 6th ed. Pearson Education. 9) Potok, Thomas; MladenVouk; Andy Rindos (1999). "Productivity Analysis of Object-Oriented Software Developed in a Commercial Environment". 27
  • 28.
  • 29.