[Tutor] [Slightly OT] Inheritance, Polymorphism and Encapsulation
Ricardo Aráoz
ricaraoz at gmail.com
Wed Sep 19 02:51:17 CEST 2007
Stephen Nelson-Smith wrote:
> Hello friends,
>
> Over lunch today some colleagues discussed a question they are using
> as a conversation starter in some preliminary chats in our developer
> hiring process.
>
> The question was:
>
> "Place the following three in order: Inheritance, Polymorphism, Encapsulation."
>
> They specifically did not define in *what* order, leaving that for
> the answerer to decide.
>
> I responded thus:
>
> Encapsulation comes with OO - you get it for free.
Encapsulation does not come with OO. It is something you must code in
your classes.
> Polymorphism is a
> hugely important enabler, but this in itself is enabled by
> Inheritance, so I put them in this order: Inheritance, Polymorphism,
> Encapsulation.
>
> My colleagues felt that of the three options this was the least
> satisfactory, and showed a lack of understanding of OO design. One
> even suggested that one could have polymorphism without inheritance.
>
IMHO you can have polymorphism without inheritance. Why shouldn't you?
It does NOT depend on inheritance I guess you could say it depends on
namespaces defined by the classes, but not inheritance.
More information about the Tutor
mailing list