On Fri, 22 Oct 2010, Nicolás Paez wrote:

Hi, I was looking at collection packages and I found that the class
Association inherits from Magnitude.
It is really strange for me because inheritance represent a "is-a" relation.

So I looked that the documentation of each of these classes:

*Association:* I represent a pair of associated objects--a key and a value.
My instances can serve as entries in a dictionary.

*Magnitude:* I'm the abstract class Magnitude that provides common protocol
for objects that have
the ability to be compared along a linear dimension, such as dates or times.
Subclasses of Magnitude include Date, ArithmeticValue, and Time, as well as
Character and LookupKey.

Based on this, I think this relation is conceptually WRONG.
If the idea is to reuse code then composition should be used instead of
inheritance.

What do you think?

This was the original hierarchy: Magnitude -> LookupKey -> Association. Someone removed LookupKey from the chain. This was LookupKey's comment:

"I represent a key for looking up entries in a data structure. Subclasses of me, such as Association, typically represent dictionary entries."


Levente


Saludos!
Nico.
blog: nicopaez.wordpress.com
_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Reply via email to