Any opinions, findings, conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of UK Essays.
There are many definitions in different sources. Some of them are like: Object-oriented programming is a method of programming based on hierarchy of classes, and well-defined and cooperating objects (Oracle, 2010a)
Object-Oriented Programming (OOP) is different from procedural programming languages in several ways. Everything in OOP is grouped as objects. OOP, defined in the purest sense, is implemented by sending messages to objects (IBM, 1995a)
Object-Oriented Programming (OOP) is a programming language model organized around “objects” rather than “actions” and data rather than logic (TechTarget, 2008)
So in other words, OOPs is a type of programming in which the programmers have to define not only the data type of a data structure but also the functions or operations to be applied to the data structure. By doing this, the data structure converts to an object including both data and functions. Java, Python, Visual Basic .NET, Ruby, Smalltalk and C++ are among the popular OOP languages. The OOP starts with first step as identification of all the objects to be manipulated and how they identify each other. This is often called as data modelling. Once the object has been identified, we have to label it as object’s class and also have to define the type of data contained in it and any logical sequences that can manipulate it. A distinct logic sequence is known as method. An instance of class is called as an object. The object runs in machine (computer). Computer instructions are provided by methods and the data is provided by the object characteristics.
OOP deals with objects, and to define it, w should know the types of objects which are described in class. Objects are instances of class. A class contains methods and attributes.
Attributes – are used to represent an object by using a dot, like: anObject.someAttribute; the attribute can be any type even same as an object type.
Methods – are used to represent the working of an object like: anObject.someMethod(parameters);
The difference between attribute and method is that an attribute can only contain a value or a state but a method can also do some functioning.
In the programming world, there is not any definition of OOP which can be accepted by all at same time but certain principles have been formed to help in understanding OOPs (Filimon, 2007a):
Modularity – it means to break the program code into different parts which can then easily be interlinked to make a well organized program.
Figure 1: Modularity (Filimon, 2007b)
Encapsulation – it is linked to modularity. According to this, everything except the interface of an object should be hidden and precisely located, so the actual implementation can easily be changed, with an improvement to the program security (Filimon 2007a).
Figure 2: Encapsulation (IBM, 1995b)
Inheritance – this is the main reason in the fine working of OOP. It allows a class to have the same behaviour as another class and extend or remove that behaviour to provide special action for specific needs (IBM, 1995a)
Figure 3: Inheritance (Oracle, 2010b)
This diagram shows the class hierarchy as it descends from java.lang.Object for the classes in the user interface.
Benefits of OOP
With the help of inheritance, a programmer can eliminate the redundant code and extends the use of available code.
Programs can be built from the working modules which interact with one another, rather than starting the code again from scratch. Due to this, lots of development time is saved and production is higher.
Because of data hiding, the programs are designed not be touched by the codes in other parts of the program and this provides greater system security and avoids unintended corruption.
Multiple instances of an object can coexist without any interference.
Easy to break the work in parts based on objects.
Easily small to large systems upgradation of OO systems.
With the help of the concept of data classes, a programmer can create any new data type which is not already defined in the language.
Code reuse; polymorphism.
Errors are caught when compiling rather than at runtime.
Works like the way real world works. Easily to map a real world problem to a solution in OO code.
Disadvantages of OOP
OOP takes more time to execute as it is a high level concept and many routines run at back at the time of execution.
Artificial class relations. We can easily make break the program making it more suitable according to us but if the programming is based on real world problem then the modified structure is not similar to what exist in real.
Wastage of time in case of small coding programs.
Due to inheritance, it is hard to read the code. If u have classes inheriting other classes, then you might end up with code again and again to figure out which method is called.
How OOP is used in Software Development?
In any complexity of software development, OOP is the best to solve the issue. These are the areas where OOP is used (Buyya et al, 2009):
Computer assisted concurrent engineering
Computer aided design and manufacturing
Computer aided teaching
Database management systems
Web based applications
Distributed computing and applications
Component based applications
Business process reengineering
Enterprise resource planning
Data security and management
Data warehousing and data mining
OOP just helps us to load the real world problem into software which can be modified in different ways depending on the needs. Once a code generated for any software can be used again and again to serve other applications with same functions. This helps in saving lots of time for the programmers and also helps in making the program flexible so that it can be easily modified when there is need.
I think OOP is not a successful approach to a beginner in programming because programming is not easy until the programmer does not know what objects or classes are. OOP have many advantages but they will work for the programmers having good knowledge in the concepts of programming. Despite all the advantages, a beginner cannot distinguish between the classes, objects or any other things which makes it difficult to understand. So I think a beginner should start with low level programs to learn the basic concepts and then move to OOP.
Buyya, R., Somasundaram, SS. and Chu, X. (2009) Object Oriented Programming with Java: Essentials and Applications. New Delhi, India: McGraw-Hill.
Filimon, T. (2007a) Object Oriented Programming [online]. Available from: http://teodorfilimon.com/articles/OOP/Object-Oriented-Programming.htm. [Accessed 14th January 2011].
Filimon, T. (2007b) Object Oriented Programming [online image]. Available from: http://teodorfilimon.com/articles/OOP/Object-Oriented-Programming.htm. [Accessed 14th January 2011].
IBM. (1995a) Introduction: What is Object-Oriented Programming? [online]. Available from: http://www.inf.ufsc.br/poo/smalltalk/ibm/tutorial/oop.html#oop. [Accessed 12th January 2011].
IBM. (1995b) Introduction: What is Object-Oriented Programming? [online image]. Available from: http://www.inf.ufsc.br/poo/smalltalk/ibm/tutorial/oop.html#oop. [Accessed 14th January 2011].
Oracle. (2010a) essentials of the Java Programming Language: A Hands-On Guide part 2 [online]. Available from:
http://java.sun.com/developer/onlineTraining/Programming/BasicJava2/oo.html. [Accessed 12th January 2011].
Oracle. (2010b) essentials of the Java Programming Language: A Hands-On Guide part 2 [online]. Available from:
http://java.sun.com/developer/onlineTraining/Programming/BasicJava2/oo.html. [Accessed 14th January 2011].
TechTarget. (2008) Object Oriented Programming [online]. Available from: http://searchsoa.techtarget.com/definition/object-oriented-programming. [Accessed 12th January 2011].
If you need assistance with writing your essay, our professional essay writing service is here to help!Find out more
Cite This Work
To export a reference to this article please select a referencing style below:
Related ServicesView all
DMCA / Removal Request
If you are the original writer of this essay and no longer wish to have the essay published on the UK Essays website then please: