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

  1. Newsgroups: comp.object
  2. Path: sparky!uunet!cis.ohio-state.edu!zaphod.mps.ohio-state.edu!darwin.sura.net!spool.mu.edu!yale.edu!ira.uka.de!fauern!lrz-muenchen.de!informatik.tu-muenchen.de!rumpe
  3. From: rumpe@Informatik.TU-Muenchen.DE (Bernhard Rumpe)
  4. Subject: A little glossary for objects
  5. References: <knight.724948496@cunews>
  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: Wed, 23 Dec 1992 15:12:38 GMT
  10. Message-ID: <1992Dec23.151238.3419@Informatik.TU-Muenchen.DE>
  11. Lines: 147
  12.  
  13.  
  14.  
  15. Little glossary of object oriented software developement
  16. ========================================================
  17.  
  18. This paper is one result of a workshop over software development
  19. of three partners from software industry and universities. The glossary
  20. is a mixture of different views: a practical and a formal one, according
  21. to the backgrounds of the partners.
  22.  
  23. This glossary aims at giving small, rather formal definitions of object
  24. oriented notions. The definitions are neither exact mathematic definitions
  25. nor do they correspond exactly to the definitions used in the area of
  26. algebraic specifications. We do not claim to cover the whole area of
  27. object orientation with our definitions (but we tried to cover a large part).
  28.  
  29.  
  30. So what do you think of the following definitions?
  31.  
  32.  
  33. responsible:  Peter Sommerlad, Alois Stritzinger, Bernhard Rumpe
  34.  
  35. -----------------------------------------------------------------------------
  36.  
  37. OBJECT
  38.  
  39. An object is characterized by the following properties:
  40.    identity
  41.    state
  42.    behaviour
  43.  
  44.  
  45. VALUE
  46.  
  47. A value is a value is a value.
  48.  
  49.  
  50. STATE
  51.  
  52. The state of an object is represented by values and
  53. references to objects. The state is constituted by the values 
  54. and the states of all referenced objects.
  55.  
  56.  
  57. MESSAGE
  58.  
  59. Objects communicate with each other by sending messages.
  60. A message denotes a receiver, an operation and carries arguments.
  61.  
  62.  
  63. OPERATION
  64.  
  65. An operation describes an algorithm that is executed whenever an object
  66. receives an appropriate message. The operation may inspect and change
  67. the state of the object and may send other messages.
  68.  
  69. Comment:
  70. The operation processes the arguments carried by the message.
  71.  
  72.  
  73. OBJECT SIGNATURE
  74.  
  75. An object signature is a description of the messages understood by
  76. the object.
  77.  
  78.  
  79. CLASS
  80.  
  81. A class is a description of the object signature,
  82. behaviour and structure of objects. An object belongs to exactly one class.
  83.  
  84. Comments:
  85. - The structure determines the set of possible states of the objects.
  86. - The behaviour is determined by the operations of the objects.
  87. - A class corresponds to an abstract data type.
  88. - In some languages classes are also objects.
  89. - In some languages "prototype objects" take the role of classes.
  90.  
  91.  
  92. CLASS SPECIFICATION
  93.  
  94. A class specification consists of a signature and a description of the
  95. semantics of all objects of a class.
  96.  
  97.  
  98. INHERITANCE
  99.  
  100. Inheritance is a binary, transitive, acyclic relation on classes.
  101. A subclass inherits the class specification (signature and behaviour)
  102. of a superclass and may extend it.
  103.  
  104. Comments:
  105. - A class may have one or several direct superclasses. This is called
  106.   single or multiple inheritance respectively.
  107.  
  108. - In many languages a subclass inherits also the structure of a superclass
  109.   and may extend it.
  110.  
  111. - The term "inheritance" is sometimes (mis-)used for code reuse violating
  112.   the subfamily relation.
  113.  
  114.  
  115. FAMILY
  116.  
  117. A family is the set of all objects that belong to the associated class or
  118. one of its subclasses.
  119.  
  120. Comments:
  121. - A family is a set of objects which satisfy at least the class specification
  122.   of its associated class.
  123. - A family associated to a subclass is called a subfamily.
  124. - The inheritance relation among classes corresponds to the subfamily
  125.   relation of the associated familys.
  126. - The term "inheritance" is sometimes (mis-)used for code reuse violating
  127.   the subfamily relation.
  128.  
  129.  
  130. POLYMORPHISM
  131.  
  132. Polymorphism allows the binding of different meanings to the same name.
  133.  
  134. Comments:
  135. - In object-oriented languages at least two kinds of polymorphism are
  136.   possible: overloading and inheritance polymorphism.
  137.  
  138.  
  139. OVERLOADING (ad hoc polymorphism)
  140.  
  141. Overloading denotes the use of the same name for different 
  142. operations distinguished by number and kind of arguments (operation signature).
  143.  
  144.  
  145. INHERITANCE POLYMORPHISM
  146.  
  147. An object of a subclass may be used whenever objects of any of its 
  148. superclasses can be used.
  149.  
  150. Comments:
  151. - This fact implies the use of the same message for different operations. 
  152. - The selection of the operation is based on the actual class of the
  153.   receiving object. 
  154.  
  155. -- 
  156. -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  157. Bernhard Rumpe      Inst. f. Informatik (SB3), Technische Univ. Muenchen
  158.                     Postfach 20 24 20,      8000 M"unchen 2,     Germany
  159. rumpe@informatik.tu-muenchen.de     phone: ++49-89-2105-8129   fax -8183
  160.