First not all object systems implement or provide inheritance for example check snit
in reply to Re: Judge a book by it's author
in thread Advanced Perl Programming, 2nd edition
In my understanding inheritence serve two purposes
I think you find can other ways to achive both requirements without inheritance. Which makes inheritance an implementation detail, a technique not a requirement.
- Gives you a mean to say that an object have more than one type (play more than one role, thus inheritance and multiple inheritance), this is only useful if you ever need to test an object type, which as far as I only required by static languages, and usually forwned upon in dynamic languages
- Give a default value for the method the object inherited (unless you are inheriting from an abstract class)
I prefer to focus on the requirement, and consider the different ways and alternatives to achieve it.