OBJECT Oriented Programming
OBJECT Oriented Programming
OOP focuses on the objects that developers want to manipulate rather than the logic required to
manipulate them. This approach to programming is well-suited for programs that are large,
complex and actively updated or maintained. This includes programs for manufacturing and
design, as well as mobile applications; for example, OOP can be used for manufacturing system
simulation software.
The first step in OOP is to collect all of the objects a programmer wants to manipulate and
identify how they relate to each other -- an exercise known as data modeling.
Examples of an object can range from physical entities, such as a human being who is described
by properties like name and address, to small computer programs, such as widgets.
Once an object is known, it is labeled with a class of objects that defines the kind of data it
contains and any logic sequences that can manipulate it. Each distinct logic sequence is known as
a method. Objects can communicate with well-defined interfaces called messages.
Classes are user-defined data types that act as the blueprint for individual objects, attributes
and methods.
Objects are instances of a class created with specifically defined data. Objects can
correspond to real-world objects or an abstract entity. When class is defined initially, the
description is the only object that is defined.
Methods are functions that are defined inside a class that describe the behaviors of an object.
Each method contained in class definitions starts with a reference to an instance object.
Additionally, the subroutines contained in an object are called instance methods.
Programmers use methods for reusability or keeping functionality encapsulated inside one
object at a time.
Attributes are defined in the class template and represent the state of an object. Objects will
have data stored in the attributes field. Class attributes belong to the class itself.
Abstraction: Objects only reveal internal mechanisms that are relevant for the use of other
objects, hiding any unnecessary implementation code. The derived class can have its
functionality extended. This concept can help developers more easily make additional
changes or additions over time.
Inheritance: Classes can reuse code from other classes. Relationships and subclasses
between objects can be assigned, enabling developers to reuse common logic while still
maintaining a unique hierarchy. This property of OOP forces a more thorough data analysis,
reduces development time and ensures a higher level of accuracy.
Polymorphism: Objects are designed to share behaviors and they can take on more than one
form. The program will determine which meaning or usage is necessary for each execution
of that object from a parent class, reducing the need to duplicate code. A child class is then
created, which extends the functionality of the parent class. Polymorphism allows different
types of objects to pass through the same interface.
Ruby
Scala
JADE
Emerald
Programming languages designed primarily for OOP include:
Java
Python
C++
PHP
JavaScript
Benefits of OOP
Benefits of OOP include:
Reusability: Code can be reused through inheritance, meaning a team does not have to write
the same code multiple times.
Productivity: Programmers can construct new programs quicker through the use of multiple
libraries and reusable code.
Criticism of OOP
The object-oriented programming model has been criticized by developers for multiple reasons.
The largest concern is that OOP over emphasizes the data component of software development
and does not focus enough on computation or algorithms. Additionally, OOP code may be more
complicated to write and take longer to compile.
Functional programming. This includes languages such as Erlang and Scala, which are
used for telecommunications and fault tolerant systems.
Logical programming. This method, which is based mostly in formal logic and uses
languages such as Prolog, contains a set of sentences that express facts or rules about a
problem domain. It focuses on tasks that can benefit from rule-based logical queries.
Most advanced programming languages enable developers to combine models, because they can
be used for different programming methods. For example, JavaScript can be used for OOP and
functional programming.
–