What is Object oriented?
Object-oriented
programming OOP is a programming
language model organized around objects rather than "actions" and
data rather than logic. Historically, a program has been viewed as a logical
procedure that takes input data, processes it, and produces output data.
The
programming challenge was seen as how to write the logic, not how to define the
data. Object-oriented programming takes the view that what we really care about
are the objects we want to manipulate rather than the logic required to
manipulate them. Examples of objects range from human beings described by name,
address, and so forth to buildings and floors whose properties can be described
and managed down to the little widgets on a computer desktop such as buttons
and scroll bars.
The
first step in OOP is to identify all the objects the programmer wants to
manipulate and how they relate to each other, an exercise often known as data
modeling. Once an object has been identified, it is generalized as a class of
objects think of Plato's concept of the "ideal" chair that stands for
all chairs which 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 communicate with well-defined interfaces called messages.
The
concepts and rules used in object-oriented programming provide these important
benefits:
ü The concept of a data class makes it possible to define subclasses of
data objects that share some or all of the main class characteristics. Called
inheritance, this property of OOP forces a more thorough data analysis, reduces
development time, and ensures more accurate coding.
ü Since a class defines only the data it needs to be concerned with, when
an instance of that class an object is run, the code will not be able to
accidentally access other program data. This characteristic of data hiding
provides greater system security and avoids unintended data corruption.
ü The definition of a class is re useable not only by the program for
which it is initially created but also by other object-oriented programs and,
for this reason, can be more easily distributed for use in networks.
ü The concept of data classes allows a programmer to create any new data
type that is not already defined in the language itself.
Simula
was the first object-oriented programming language. Java, Python, C++, Visual
Basic .NET and Ruby are the most popular OOP languages today. The Java
programming language is designed especially for use in distributed applications
on corporate networks and the Internet. Ruby is used in many Web applications.
Curl, Smalltalk, Delphi and Eiffel are also examples of object-oriented
programming languages.
OOPSLA
is the annual conference for Object-Oriented Programming Systems, Languages and
Applications.
Advantages of Object Oriented Programming:
1. Code Reuse and Recycling: Objects created for Object Oriented Programs can easily be reused in
other programs.
2. Encapsulation (part 1): Once an Object is created, knowledge of its implementation is not
necessary for its use. In older programs, coders needed understand the details
of a piece of code before using it (in this or another program).
3. Encapsulation (part 2): Objects have the ability to hide certain parts of themselves from
programmers. This prevents programmers from tampering with values they
shouldn't. Additionally, the object controls how one interacts with it,
preventing other kinds of errors. For example, a programmer (or another
program) cannot set the width of a window to -400.
4. Design Benefits: Large programs are very difficult to write. Object Oriented Programs
force designers to go through an extensive planning phase, which makes for
better designs with fewer flaws. In addition, once a program reaches a certain
size, Object Oriented Programs are actually easier to program than non-Object
oriented ones.
5. Modifiability: it is easy to make minor changes in the data representation or the
procedures in an OO program. Changes inside a class do not affect any other
part of a program, since the only public interface that the external world has
to a class is through the use of methods;
6. Extensibility: adding new features or responding to changing operating environments
can be solved by introducing a few new objects and modifying some existing
ones;
7. Maintainability: objects can be maintained separately, making locating and fixing
problems easier;
8. Re-usability: objects can be reused in different programs.
Disadvantages Object Oriented Programming:
1. Takes more memory, so it causes the system to run slower. For an example
creating and destroying objects take more memory and causes the system to slow.
2. In an optimal design, little support is given to identify the objects.
Comments
Post a Comment