Cut the knot: learn to enjoy mathematics
A math books store at a unique math study site. Shopping at the store helps maintain the site. Thank you.
Ask a tutor for free
Learning Math Online

Sites for parents
Terms of use
Awards
Interactive Activities

CTK Exchange
CTK Wiki Math
CTK Insights - a blog
Math Help

III Millennium Olympiad

Games & Puzzles
What Is What
Arithmetic/Algebra
Geometry
Probability
Outline Mathematics
Make an Identity
Book Reviews
Stories for Young
Eye Opener
Analog Gadgets
Inventor's Paradox
Did you know?...
Proofs
Math as Language
Things Impossible
Visual Illusions
My Logo
Math Poll
Cut The Knot!
MSET99 Talk
Other Math sites
Front Page
Movie shortcuts
Personal info
Privacy Policy

Guest book
News sites

Recommend this site

Sites for parents

Education & Parenting

Manifesto  |  Bookstore  |  Contents  |  Amazon store  |  Term index  |  What changed?  |  Contact  |  Recommend
RSS Feed: Recent changes at CTK

Mathematics Education: Taking a Clue
From the Recent Technological Revolution

OO Themes

What does "knowing about itself and knowing about me" have to do with object orientation?

Objects, as opposed to structures, incorporate both data and behavior. But there is more to that. Several themes underlie object-oriented technology. These are [Rumbaugh]:

  • Abstraction

    Abstraction consists of focusing on the essential, inherent aspects of an entity and ignoring its accidental aspects.

  • Classes and instances

    Objects are instances of classes. A class is a definitive description of a group of objects with similar properties and behaviors. Classes are abstract, objects are concrete. Objects are aware of their class identity.

  • Encapsulation

    Encapsulation (also information hiding) consists of separating the external aspects of an object, which are accessible to other objects, from the internal details of the object, which are hidden from other objects.

    Objects have an outside (how they are seen or interact) and an inside (what they are.)

  • Polymorphism

    Polymorphism is the kindred to the incorporation of data and behavior. From the outside, the same operation Solve or Draw applies to various objects (solvable or, respectively, drawable). The object user is not burdened with the implementation - the inside - of the object. The object knows how to do the job.

  • Inheritance

    Inheritance is a mechanism for sharing similarities among classes while preserving their differences.

In the OO terminology, the individual pieces of data are known as attributes while the operations that objects carry out are known as methods.

Pluggability stems from the concepts of abstraction and encapsulation. The programming libraries on the market are nowadays class libraries. Classes know how to create their instances - objects. If one wants to modify class behavior a little, there is inheritance and polymorphism. Of course, one can always design one's own classes from scratch.

How then information may know about itself and me? Here's one possibility. Implemented as an instance of a class Info, for example, information will know everything about itself. An object of the ComputerUser class will reside on my machine. The "outside" of the class - the public interface - will be queried by the Info object for the necessary particulars. Authentication and protection will be built into the ComputerUser class.

Object oriented technology stresses specifying first what an object is, then how is it used. Implementation is the very last thing. At this point, I am absolutely unconcerned how the classes will be implemented.

References

  1. Object-Oriented Computing, IEEE Computer Society Press, 1987
  2. J.Rumbaugh et al, Object-Oriented Modeling and Design, Prentice-Hall, 1991

Index|| OO History| OO Themes| Examples

34384402Page copy protected against web site content infringement by Copyscape

Search:
Keywords:

Google
Web CTK