TechWhirl (TECHWR-L) is a resource for technical writing and technical communications professionals of all experience levels and in all industries to share their experiences and acquire information.
For two decades, technical communicators have turned to TechWhirl to ask and answer questions about the always-changing world of technical communications, such as tools, skills, career paths, methodologies, and emerging industries. The TechWhirl Archives and magazine, created for, by and about technical writers, offer a wealth of knowledge to everyone with an interest in any aspect of technical communications.
Subject:Re: Object Oriented? From:"Susan W. Gallagher" <sgallagher -at- EXPERSOFT -dot- COM> Date:Tue, 20 Feb 1996 15:21:06 -0800
At 1:47 PM 2/20/96, Judith Hammeran wrote:
[snip]
>Can anyone give me a definition of "object oriented"? I'm starting to see this
>phrase in a lot of job listings, and I don't have a clue what it means.
"Object Oriented" referrs to a programming paradigm -- the most
popular object-oriented languages are C++ and Smalltalk, but there
are others. Programs are implemented via a series of objects (which
can include code and data). Objects send messages and receive
results. The sender of the message does not care how the receiving
object implements the code that produces the answer, only that the
receiver understands the message and sends back a result.
The key "buzzwords" for OO programs are inheritance, polymorphism,
and encapsulation.
Example:
Class Person defines your basic human being. Methods defined for
class Person (things we can do) include eat, drink, talk, sit,
stand, walk...
Class TechnicalWriter is a subclass of class Person. An object
of class TechnicalWriter *inherits* the methods defined for
class Person and contains additional methods specific to the
class -- research, organizeInformation, write, etc.
Polymorphism refers to the ability to use the same name for
different pieces of code. For example, write is a method
defined in class TechnicalWriter and in class FictionWriter, so
you can create a single piece of code that sends the message
"write" and get a different result depending on which class you
send it to.
Encapsulation means that the internal implementation is hidden
from the outside world. Any object of class Person understands
the message howOldAreYou. Some members of the class subtract
the current year from their birth year, some subtract 25 from
their mother's age, some just know. It is no business of yours
*how* each class member arrives at the answer, only that they
answer you.
Well thought-out and developed OO code is more efficient and
reusable than structured code (like COBOL) -- or at least that's
what the industry claims.
This is just the tip of the iceberg, of course, but it should
be enough to get you started.
-Sue Gallagher
sgallagher -at- expersoft -dot- com