Object Oriented Programming has great advantages over other
- Code Reuse and Recycling: Objects created
for Object Oriented Programs can easily be reused in other programs.
- 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).
- 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
- 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 less flaws.
In addition, once a program reaches a certain size, Object Oriented Programs
are actually easier to program than non-Object Oriented ones.
- Software Maintenance:
Programs are not disposable. Legacy code must be dealt with on a daily basis,
either to be improved upon (for a new version of an exist piece of software)
or made to work with newer computers and software. An Object Oriented Program
is much easier to modify and maintain than a non-Object Oriented Program.
So although a lot of work is spent before the program is written, less work
is needed to maintain it over time.