Circle-ellipse Problem - Possible Solutions - Challenge The Premise of The Problem

Challenge The Premise of The Problem

While at first glance it may seem obvious that a Circle is-an Ellipse, consider the following alternate representation of essentially the same problem, stated in terms of Java code.

class Person { void walkNorth( int meters ) {...} // No failure or exception allowed void walkEast( int meters ) {...} // No failure or exception allowed }

Now, a prisoner is obviously a person. So we could logically create a sub-class:

class Prisoner extends Person { void walkNorth( int meters ) {...} // No failure or exception allowed void walkEast( int meters ) {...} // No failure or exception allowed }

Just as obviously, this leads us into trouble, since a prisoner is not free to move an arbitrary distance in any direction, yet the contract of the Person class states that a Person can.

So, in fact, the class Person could better be named FreePerson. If that were the case, then the idea that class Prisoner extends FreePerson is clearly wrong.

By analogy, then, a Circle, is not an Ellipse, because it lacks the same degrees of freedom as an Ellipse.

This strongly suggests that inheritance should never be used when the sub-class restricts the freedom implicit in the base class, but should only be used when the sub-class adds extra detail to the concept represented by the base class as in 'Monkey' is-a 'Animal'.

Read more about this topic:  Circle-ellipse Problem, Possible Solutions

Famous quotes containing the words challenge the, challenge, premise and/or problem:

    ...Women’s Studies can amount simply to compensatory history; too often they fail to challenge the intellectual and political structures that must be challenged if women as a group are ever to come into collective, nonexclusionary freedom.
    Adrienne Rich (b. 1929)

    The very best reason parents are so special . . . is because we are the holders of a priceless gift, a gift we received from countless generations we never knew, a gift that only we now possess and only we can give to our children. That unique gift, of course, is the gift of ourselves. Whatever we can do to give that gift, and to help others receive it, is worth the challenge of all our human endeavor.
    Fred Rogers (20th century)

    We have to give ourselves—men in particular—permission to really be with and get to know our children. The premise is that taking care of kids can be a pain in the ass, and it is frustrating and agonizing, but also gratifying and enjoyable. When a little kid says, “I love you, Daddy,” or cries and you comfort her or him, life becomes a richer experience.
    —Anonymous Father. Ourselves and Our Children, by Boston Women’s Health Book Collective, ch. 3 (1978)

    Congress seems drugged and inert most of the time. ...Its idea of meeting a problem is to hold hearings or, in extreme cases, to appoint a commission.
    Shirley Chisholm (b. 1924)