Path: utzoo!utgpu!news-server.csri.toronto.edu!bonnie.concordia.ca!clyde.concordia.ca!nstn.ns.ca!news.cs.indiana.edu!news.nd.edu!mentor.cc.purdue.edu!purdue!haven!uflorida!shades.cis.ufl.edu!jnw From: jnw@shades.cis.ufl.edu (Joseph N. Wilson) Newsgroups: comp.lang.eiffel Subject: Re: Inheritance and Information Hiding Message-ID: <27010@uflorida.cis.ufl.EDU> Date: 19 Feb 91 18:38:31 GMT References: <4810@mindlink.UUCP> <1101@tetrauk.UUCP> Sender: news@uflorida.cis.ufl.EDU Reply-To: jnw@shades.cis.ufl.edu (Joseph N. Wilson) Organization: University of Florida CIS dept. Lines: 23 I was directed to this discussion (indirectly) by Chris Clifton of Princeton. In article <1101@tetrauk.UUCP>, simons@tetrauk.UUCP (Simon Shaw) writes: [...] |> 1. Inheritance is about specialisation. |> |> 2. Specialisation is often a _restriction_ of the range of allowed |> circumstances. |> |> 3. Ergo, not all the features of a parent class can necessarily be |> implemented on a child object. |> [...] |> Simon Shaw ; simons@tetrauk.uucp ; net.lurker This sort of problem is evident even in languages with no explicit inheritance mechanism. Consider integer subranges of Pascal. Addition of two values belonging to some subrange a..b does not necessarily yield a value in a..b. It is not reasonable to assume that all properties of an algebra will hold for a similar subset algebra inheriting values and operations. joe wilson (jnw@cis.ufl.edu)