A Theory of ObjectsSpringer Science & Business Media, 23 квіт. 1998 р. - 396 стор. 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. |
Зміст
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 | |
Інші видання - Показати все
Загальні терміни та фрази
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
Популярні уривки
Сторінка 387 - In Proceedings of the 18th Annual ACM Symposium on Principles of Programming Languages, pages 155-162, Toronto, Ontario, Jan.
Сторінка 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.
Сторінка 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.
Сторінка 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.
Сторінка 387 - In Proceedings of the 15th Annual ACM Symposium on Principles of Programming Languages, pages 319-329, January 1988.
Посилання на книгу
Object-Process Methodology: A Holistic Systems Paradigm ; with CD-ROM Dov Dori Обмежений попередній перегляд - 2002 |
Programming Languages and Systems: 7th European Symposium on ..., Том 7 Chris Hankin Попередній перегляд недоступний - 1998 |