home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #31 / NN_1992_31.iso / spool / comp / object / 4669 < prev    next >
Encoding:
Text File  |  1992-12-28  |  2.9 KB  |  69 lines

  1. Newsgroups: comp.object
  2. Path: sparky!uunet!math.fu-berlin.de!informatik.tu-muenchen.de!rumpe
  3. From: rumpe@Informatik.TU-Muenchen.DE (Bernhard Rumpe)
  4. Subject: Re: A little glossary for objects
  5. References: <knight.724948496@cunews> <1992Dec23.151238.3419@Informatik.TU-Muenchen.DE> <1992Dec27.014406.26583@mole-end.matawan.nj.us>
  6. Originator: rumpe@sunbroy25.informatik.tu-muenchen.de
  7. Sender: news@Informatik.TU-Muenchen.DE (USENET Newssystem)
  8. Organization: Technische Universitaet Muenchen, Germany
  9. Date: Mon, 28 Dec 1992 14:30:30 GMT
  10. Message-ID: <1992Dec28.143030.17534@Informatik.TU-Muenchen.DE>
  11. Lines: 56
  12.  
  13.  
  14. In article <1992Dec27.014406.26583@mole-end.matawan.nj.us>, mat@mole-end.matawan.nj.us writes:
  15. |> In article <1992Dec23.151238.3419@Informatik.TU-Muenchen.DE>, rumpe@Informatik.TU-Muenchen.DE (Bernhard Rumpe) writes:
  16. |>  
  17. |> > Little glossary of object oriented software developement
  18. |> > ========================================================
  19. |> ...
  20.   
  21. |> > INHERITANCE
  22. |>  
  23. |> > Inheritance is a binary, transitive, acyclic relation on classes.
  24. |> > A subclass inherits the class specification (signature and behaviour)
  25. |> > of a superclass and may extend it.
  26. |> > 
  27. |> > Comments:
  28. |> > - A class may have one or several direct superclasses. This is called
  29. |> >   single or multiple inheritance respectively.
  30. |> > ...
  31. |> 
  32. |> I don't see how you classify inheritance as a binary relation.  Could you
  33. |> be more specific?
  34. |>
  35. When deriving a new class X from a given class A, one establishes new
  36. inheritance-relationships, namely (X -> S) where S is an arbitrary 
  37. superclass of A (including A).
  38. The same situation occurs with multiple inheritance: despite using several
  39. superclasses A,B,..., only binary inheritance-relationships are established:
  40.    (X -> S), where S is any superclass of A or B or...  
  41.  
  42. This definition also covers the (more unusual) case of deriving a new
  43. class by generalisation: given two classes and building a new
  44. superclass with their common behaviour and signature.
  45.  
  46. |> > - In many languages a subclass inherits also the structure of a superclass
  47. |> >   and may extend it.
  48. |> > ...
  49. |> 
  50. |> In such languages, the use of `sub' and `super' is often confusing, because
  51. |> the subclass is represented by a superstructure on the superclass.  (Hence
  52. |> the classic advice to OO'rs moving to C++: ``Don't say `sub' and `super,' say
  53. |> `base' and `derived'.'')
  54. |> 
  55. We intend to seperate at least two cases of inheritance: the inheritance
  56. of behaviour (semantically coverable with subtyping)
  57. and the mere code-reuse, where nearly everything is allowed (namely
  58. renaming,restriction,reimplementation ...).
  59. It is a good suggestion to use 'baseclass' and 'derived class' in 
  60. this framework.
  61.  
  62. Bernhard
  63.  
  64. -- 
  65. -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  66. Bernhard Rumpe      Inst. f. Informatik (SB3), Technische Univ. Muenchen
  67.                     Postfach 20 24 20,      8000 M"unchen 2,     Germany
  68. rumpe@informatik.tu-muenchen.de     phone: ++49-89-2105-8129   fax -8183
  69.