in reply to Re: Inheritance vs Delegation: pros and cons
in thread Inheritance vs Delegation: pros and cons

Consider typesafety.pm rather than Class::Contract. Not only does it declare what is passed and returned, but it enforces argument types and expected return types to match the declaration (I forgot to check actual return types - whoops - next version). All I ever do is shameless self-plug here - I'm really sorry. Since I try to write useful things, I like to think that now and again something might actually be useful.

Erm.

Class::Contract implements design by contract in perl - which has direct relevance to the inheritence vs delegation issue. Contracts help make the implicit contracts involved in isa relationships explicit in the code itself and encourage good use of inheritance and delegation.

typesafety, while cute, is to do with type safety - a completely separate issue. I don't see how it relates to the inheritence vs delegation issue. You can get in exactly the same mess in statically typed languages like C++ and Java.

  • Comment on Re^2: Inheritance vs Delegation: pros and cons