Science Fair Projects Ideas - Post-object programming

All Science Fair Projects

      

Science Fair Project Encyclopedia for Schools!

  Search    Browse    Forum  Coach    Links    Editor    Help    Tell-a-Friend    Encyclopedia    Dictionary     

Science Fair Project Encyclopedia

For information on any area of science that interests you,
enter a keyword (eg. scientific method, molecule, cloud, carbohydrate etc.).
Or else, you can start by choosing any of the categories below.

Post-object programming

Post-object programming is a new generation of techniques that evolved out of the object-oriented programming generation. Post-object programming emphasizes mixins, delegation, and aspects; as well as heterogeneous groups and multimethods. Post-object languages aspire to go beyond traditional object languages.

Post-object programming is related to design patterns. Many patterns can be thought of as workarounds for languages that do not support post-object techniques directly. For example, the delegation pattern is a workaround for mixins, delegation, and aspects, and the abstract factory pattern and visitor pattern are workarounds for heterogeneous groups and multimethods.

Contents

Post-object techniques

Mixins

Mixins are classes that have inheritance defined with respect to an interface, not to a class. When instantiated, an object must define its parent class.

Delegation

Delegation is one of the original object programming techniques for a model that competes with inheritance. In delegation an object passes the responsibility of answering one function explicitly to other object (usually pointed by the original one).

Delegation is a very common technique in the Gang of Four book.

Aspects

Aspects are a new technique, epitomized by AspectJ. See also subject-oriented programming and separation of concerns.

Heterogeneous groups

Heterogeneous groups are groups where the members have different types. For example; silverware includes forks, spoons, and knives; and animals include mammals, birds, fish, reptiles, and amphibians.

What is the signature for all animals? Mammals and fish share almost no attributes. Mammals breathe air while fish breathe water. Mammals walk on land while fish swim in water. They eat different foods. Yet, it is useful to combine animals together, when feeding pets (cat, parakeet, and goldfish), or going to the zoo.

In object languages, the signature for animals would be empty. However, this leads to problems because shoes and potatoes also match the signature for animals.

Heterogeneous groups are challenging to object languages, because they link group signatures with group membership. Programmers long ago learned that removing attributes from a signature is hard to understand.

Multimethods

Multimethods implement multiple downcasting directly. The alternative is to implement the visitor pattern.

Criticism

One criticism against the techniques is that patterns already implement these concepts in Java and C++. However it takes extra work to implement patterns.

Another criticism is that the term post-object does not identify a specific technology or practice, in the way that structured programming and object-oriented programming do. This means that post-object is more ambiguous. This may simply be necessary, given that object-oriented was such a large step in impact and identity.

The name post-object was chosen to parallel post-Impressionism. Most art patrons who say they like Impressionist art really prefer post-impressionist art. Impressionism was an important but subtle change in art. Post-impressionism, for example Van Gogh, went whole hog. (In other words, Van Gogh's art made the complete change that impressionism started.)

Objects use implementation inheritance in various ways, but leave many issues unresolved. Post-object resolves some issues, specifically heterogeneous groups, mixins, and delegation.

Origins

One early language was Cecil. Another important language is AspectJ.

See also

09-23-2007 01:00:40
The contents of this article is licensed from www.wikipedia.org under the GNU Free Documentation License. Click here to see the transparent copy and copyright details
Science kits, science lessons, science toys, maths toys, hobby kits, science games and books - these are some of many products that can help give your kid an edge in their science fair projects, and develop a tremendous interest in the study of science. When shopping for a science kit or other supplies, make sure that you carefully review the features and quality of the products. Compare prices by going to several online stores. Read product reviews online or refer to magazines.

Start by looking for your science kit review or science toy review. Compare prices but remember, Price $ is not everything. Quality does matter.
Science Fair Coach
What do science fair judges look out for?
ScienceHound
Science Fair Projects for students of all ages
All Science Fair Projects.com Site
All Science Fair Projects Homepage
Search | Browse | Links | From-our-Editor | Books | Help | Contact | Privacy | Disclaimer | Copyright Notice