(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
Object Oriented Programming
1. Impact of Object-Oriented Concept
in Programming Languages
SHIVAM JOSHI
•B.Tech, IT Department( 6th semester )
1
2. 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
3. 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
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
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
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 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
10. 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
11. EXAMPLE
To access our data stored in Google Drive, we need to
provide correct username and correct password.
11
12. 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
13. EXAMPLE
In a mobile phone screen, the company highlights the set of
services they want without highlighting the internal
implementation.
13
14. 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
16. 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
17. INHERITANCE ( cont. )
4. Multipath Inheritance,
5. Hierarchical Inheritance, and
6. Hybrid Inheritance.
Advantage: The advantage of using Inheritance is
reusability of code.
17
24. 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
25. 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
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