Science Fair Projects Ideas - Multiple inheritance

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.

Multiple inheritance

Some programming languages allow multiple inheritance, in which a class can inherit behaviors and features from more than one superclass. This contrasts with single inheritance, where a class inherits from only one superclass.

Multiple inheritance can cause some confusing situations, so there is some debate over whether or not its benefits outweigh its risks. Java compromises: it allows a class to inherit interfaces from more than one parent (that is, one can specify that a class must have all of the same externally exposed methods of its interface-parents, and allow the compiler to enforce that), but can inherit actual methods and data from only one parent.

In Object Oriented Programming (OOP), inheritance describes a relationship between two types, or classes, of objects in which one is said to be a "subtype" or "child" of the other. The child inherits features of the parent, allowing for shared functionality. For example, one might create a variable class "Mammal" with features such as eating, reproducing, etc.; then define a subtype "Rat" that inherits those features without having to explicitly program them, while adding new features like collecting garbage.

If, however, you want to follow more than one totally orthogonal hierarchy simultaneously, such as allowing "Rat" to inherit from "Cartoon character" and "Disease vector" as well as "Mammal", without multiple inheritance you often end up with a very awkwardly mixed hierarchy, or rewriting functionality in more than one place (with the attendant maintenance problems).

Multiple inheritance has been a touchy issue for many, with opponents pointing to its increased complexity and ambiguity. For example, if two parents have independent implementations of a feature named X, which one do I inherit? (This situation is commonly referred to as the diamond problem)

Languages have different ways of dealing with these problems. Eiffel, for example, allows subtypes to adapt their inherited features by renaming them or setting selection rules for them ahead of time. Java allows objects to inherit multiple interfaces but only a single implementation. REALbasic is similar, but also allows additional methods to "extend" a class without inheritance. Perl uses the list of classes to inherit from as an ordered list, and uses the first method it finds by depth-first searching first the current class, then the inherited classes in the order listed and their superclasses. CLOS allows for complete programmer control of method combination, and if that's not enough the meta-object protocol gives the programmer a means to modify the inheritance, method dispatch , class instantiation , and other internal mechanisms without affecting the stability of the system.

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