|
![](/i/fill.gif) |
clipka <ano### [at] anonymous org> wrote:
> There is no language that "is OOP". OOP is a software design approach;
> An OO language (or OO language feature) is one that helps you implement
> such a design, but nothing more.
Do not confuse the terms "object-oriented programming" (OOP),
"object-oriented design" (OOD) and "object oriented programming language".
OOD is the process of dividing the problem into logical parts,
each part being a class, and establishing their relationships and
dependendcies (inheritance, composition, function calls...) This is
a language-agnostic process.
OOP is the process of implementing that design in an actual language,
of actually writing code.
An object-oriented language is a programming language that supports
the necessary features for OOP natively.
> Bundling record data and related functions (aka methods) in a single
> thing called "class" does help you write software that makes use of data
> encapsulation (an OOP concept); it doesn't help you with enforcing the
> rules of encapsulation, but it simplifies the syntax by (1)
> automatically passing the ubiquitous "this" pointer, and (2) adding new
> namespaces to avoid naming collisions. As such, it does qualify as an OO
> language feature.
Just because a language offers *some* features that are intrinsic
to object-oriented programming doesn't make the language automatically
an OO language.
--
- Warp
Post a reply to this message
|
![](/i/fill.gif) |