Two Laptop Bag*
The moose likes Java in General and the fly likes Composition and Inheritance Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Android Security Essentials Live Lessons this week in the Android forum!
JavaRanch » Java Forums » Java » Java in General
Bookmark "Composition and Inheritance" Watch "Composition and Inheritance" New topic
Author

Composition and Inheritance

Mathews P Srampikal
Ranch Hand

Joined: Nov 26, 2002
Posts: 211
What is the difference between Composition and Inheritance in java.
Thanks.


Thanks,
Mathews
Ernest Friedman-Hill
author and iconoclast
Marshal

Joined: Jul 08, 2003
Posts: 24183
    
  34

In Java, or in any language, inheritance is, well, inheritance -- as expressed by the "extends" keyword; while composition refers to the inclusion of one object inside another as a member.
In this example, Bar gets access to Foo's capabilites via inheritance:

While here it gets them via composition:

The general, oversimplified rule is to use composition when you can, inheritance when you must.


[Jess in Action][AskingGoodQuestions]
 
It is sorta covered in the JavaRanch Style Guide.
 
subject: Composition and Inheritance
 
Similar Threads
Inheritance and composition
Inheritance or composition?
Composition versus Inheritance
A refactoring question.