A Theory of ObjectsSpringer Science & Business Media, 23.04.1998 - 396 Seiten Procedural languages are generally well understood and their formal foundations cast in the forms of various lambda-calculi. For object- oriented languages however the situation is not as clear-cut. In this book the authors propose and develop a different approach by developing object calculi in which objects are treated as primitives. Using object calculi,the authors are able to explain both the semantics of objects and their typing rules and demonstrate how to develop all of the most important concepts of object-oriented programming languages: self, dynamic dispatch, classes, inheritance, protected and private methods, prototyping, subtyping, covariance and contravariance, and method specialization. Many researchers and graduate students will find this an important development of the underpinnings of object-oriented programming. |
Inhalt
IV | 7 |
V | 8 |
VI | 9 |
VII | 11 |
VIII | 13 |
IX | 15 |
X | 17 |
XI | 19 |
LXXIII | 162 |
LXXIV | 167 |
LXXV | 169 |
LXXVI | 173 |
LXXVII | 177 |
LXXVIII | 178 |
LXXIX | 179 |
LXXX | 185 |
XII | 20 |
XIII | 22 |
XIV | 23 |
XV | 25 |
XVI | 27 |
XVII | 28 |
XVIII | 30 |
XIX | 32 |
XX | 35 |
XXI | 36 |
XXII | 38 |
XXIII | 39 |
XXIV | 42 |
XXV | 45 |
XXVI | 46 |
XXVII | 47 |
XXVIII | 49 |
XXIX | 51 |
XXX | 52 |
XXXI | 53 |
XXXII | 55 |
XXXIII | 57 |
XXXIV | 60 |
XXXV | 66 |
XXXVI | 68 |
XXXVII | 69 |
XXXVIII | 73 |
XXXIX | 76 |
XL | 79 |
XLI | 80 |
XLII | 82 |
XLIII | 84 |
XLIV | 85 |
XLV | 89 |
XLVI | 91 |
XLVII | 93 |
XLVIII | 95 |
L | 98 |
LI | 100 |
LII | 106 |
LIII | 109 |
LIV | 113 |
LV | 115 |
LVI | 118 |
LVII | 121 |
LVIII | 123 |
LIX | 125 |
LX | 126 |
LXI | 129 |
LXII | 130 |
LXIII | 131 |
LXIV | 133 |
LXV | 135 |
LXVI | 141 |
LXVII | 142 |
LXVIII | 144 |
LXIX | 146 |
LXX | 153 |
LXXI | 156 |
LXXII | 159 |
LXXXI | 187 |
LXXXII | 196 |
LXXXIII | 201 |
LXXXIV | 205 |
LXXXV | 208 |
LXXXVI | 209 |
LXXXVII | 210 |
LXXXVIII | 212 |
LXXXIX | 215 |
XC | 221 |
XCI | 222 |
XCII | 227 |
XCIII | 229 |
XCIV | 233 |
XCV | 237 |
XCVI | 241 |
XCVII | 242 |
XCVIII | 243 |
XCIX | 245 |
C | 247 |
CI | 257 |
CII | 259 |
CIII | 264 |
CIV | 273 |
CV | 274 |
CVI | 276 |
CVII | 279 |
CVIII | 282 |
CIX | 285 |
CX | 287 |
CXI | 289 |
CXII | 290 |
CXIII | 294 |
CXIV | 298 |
CXV | 301 |
CXVI | 305 |
CXVII | 306 |
CXVIII | 307 |
CXIX | 311 |
CXX | 315 |
CXXI | 325 |
CXXII | 327 |
CXXIII | 329 |
CXXIV | 330 |
CXXV | 333 |
CXXVI | 337 |
CXXVII | 339 |
CXXVIII | 342 |
CXXIX | 347 |
CXXX | 351 |
CXXXI | 352 |
CXXXII | 354 |
CXXXIII | 363 |
CXXXIV | 365 |
CXXXV | 371 |
CXXXVI | 381 |
CXXXVII | 383 |
391 | |
Andere Ausgaben - Alle anzeigen
Häufige Begriffe und Wortgruppen
attributes backup binary methods binary relations bound C-object cell Chapter class type class-based languages Class(A cloning components construct constructor contents contravariant covariant CUPER define definition derivable distinct dom(o dynamic dispatch encoding environment Eval example field update first-order FOb₁ Fun2 function types hence imperative induction hypothesis inheritance InstanceTypeOf(c Integer interpretation invariant Lemma method invocation method update Modula-3 mv_x notation Ob₁ object calculi object types object-based languages object-oriented languages object-oriented programming obtain operational semantics override P₁ parameter pointClass pre-methods primitive programming language proof properties Proposition prototype-based languages quantifiers ReCell recursive types result type rule Val second-order Section self-application self.contents Simula store type structural structural subtyping Sub Object Sub Refl subclass subject reduction subsumption subtyping superclass Syntax tion translation type variables typecase typing judgment typing rules universal quantifiers untyped Val Object Val Select Val Update variance annotations Viel..n wrap(Self
Beliebte Passagen
Seite 387 - In Proceedings of the 18th Annual ACM Symposium on Principles of Programming Languages, pages 155-162, Toronto, Ontario, Jan.
Seite 387 - Bisimilarity for a first-order calculus of objects with subtyping. In Proceedings of the 23rd Annual ACM Symposium on Principles of Programming Languages, 386-395.
Seite 386 - The Cecil Language Specification and Rationale", Technical Report 93-03-05, University of Washington, Dept. of Computer Science and Engineering, 1993. [12] W. Cook, W. Hill, and P. Canning, "Inheritance is not subtyping" , Proceedings of the Seventeenth Annual Symposium on Principles of Programming Languages 125-135, 1990.
Seite viii - Many people have helped us in the preparation of this book. We are grateful to Ramesh Viswanathan, with whom we wrote a paper that is the origin of Chapter 18.
Seite 387 - In Proceedings of the 15th Annual ACM Symposium on Principles of Programming Languages, pages 319-329, January 1988.
Verweise auf dieses Buch
Object-Process Methodology: A Holistic Systems Paradigm ; with CD-ROM Dov Dori Eingeschränkte Leseprobe - 2002 |
Programming Languages and Systems: 7th European Symposium on ..., Band 7 Chris Hankin Keine Leseprobe verfügbar - 1998 |