home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.object
- Path: sparky!uunet!math.fu-berlin.de!informatik.tu-muenchen.de!rumpe
- From: rumpe@Informatik.TU-Muenchen.DE (Bernhard Rumpe)
- Subject: Re: A little glossary for objects
- References: <knight.724948496@cunews> <1992Dec23.151238.3419@Informatik.TU-Muenchen.DE> <1992Dec27.014406.26583@mole-end.matawan.nj.us>
- Originator: rumpe@sunbroy25.informatik.tu-muenchen.de
- Sender: news@Informatik.TU-Muenchen.DE (USENET Newssystem)
- Organization: Technische Universitaet Muenchen, Germany
- Date: Mon, 28 Dec 1992 14:30:30 GMT
- Message-ID: <1992Dec28.143030.17534@Informatik.TU-Muenchen.DE>
- Lines: 56
-
-
- In article <1992Dec27.014406.26583@mole-end.matawan.nj.us>, mat@mole-end.matawan.nj.us writes:
- |> In article <1992Dec23.151238.3419@Informatik.TU-Muenchen.DE>, rumpe@Informatik.TU-Muenchen.DE (Bernhard Rumpe) writes:
- |>
- |> > Little glossary of object oriented software developement
- |> > ========================================================
- |> ...
-
- |> > INHERITANCE
- |>
- |> > Inheritance is a binary, transitive, acyclic relation on classes.
- |> > A subclass inherits the class specification (signature and behaviour)
- |> > of a superclass and may extend it.
- |> >
- |> > Comments:
- |> > - A class may have one or several direct superclasses. This is called
- |> > single or multiple inheritance respectively.
- |> > ...
- |>
- |> I don't see how you classify inheritance as a binary relation. Could you
- |> be more specific?
- |>
- When deriving a new class X from a given class A, one establishes new
- inheritance-relationships, namely (X -> S) where S is an arbitrary
- superclass of A (including A).
- The same situation occurs with multiple inheritance: despite using several
- superclasses A,B,..., only binary inheritance-relationships are established:
- (X -> S), where S is any superclass of A or B or...
-
- This definition also covers the (more unusual) case of deriving a new
- class by generalisation: given two classes and building a new
- superclass with their common behaviour and signature.
-
- |> > - In many languages a subclass inherits also the structure of a superclass
- |> > and may extend it.
- |> > ...
- |>
- |> In such languages, the use of `sub' and `super' is often confusing, because
- |> the subclass is represented by a superstructure on the superclass. (Hence
- |> the classic advice to OO'rs moving to C++: ``Don't say `sub' and `super,' say
- |> `base' and `derived'.'')
- |>
- We intend to seperate at least two cases of inheritance: the inheritance
- of behaviour (semantically coverable with subtyping)
- and the mere code-reuse, where nearly everything is allowed (namely
- renaming,restriction,reimplementation ...).
- It is a good suggestion to use 'baseclass' and 'derived class' in
- this framework.
-
- Bernhard
-
- --
- -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- Bernhard Rumpe Inst. f. Informatik (SB3), Technische Univ. Muenchen
- Postfach 20 24 20, 8000 M"unchen 2, Germany
- rumpe@informatik.tu-muenchen.de phone: ++49-89-2105-8129 fax -8183
-