The Interpretation of Object-Oriented Programming Languages için kapak resmi
The Interpretation of Object-Oriented Programming Languages
Başlık:
The Interpretation of Object-Oriented Programming Languages
ISBN:
9781447101994
Personal Author:
Edition:
2nd ed. 2002.
Yayın Bilgileri:
London : Springer London : Imprint: Springer, 2002.
Fiziksel Tanımlama:
XIV, 290 p. online resource.
Contents:
1. Introduction -- 1.1 Introduction -- 1.2 Essential Properties of Objects -- 1.3 Objects and Messages -- 1.4 Pure and Impure Languages -- 1.5 Mixed-Paradigm Languages -- 1.6 Organization of this Book -- 2. Class Fundamentals -- 2.1 Introduction -- 2.2 Classes -- 2.3 Instances -- 2.4 Slots and Methods -- 2.5 Slot Access -- 2.6 Visibility and Accessibility -- 2.7 Instance Creation -- 2.8 Inheritance -- 2.9 Abstract Classes -- 2.10 Iterators -- 2.11 Part Objects -- 3. Prototype and Actor Languages -- 3.1 Introduction -- 3.2 Prototype Languages -- 3.3 Methods in Prototype Languages -- 3.4 Actor Languages -- 4. Inheritance and Delegation -- 4.1 Introduction -- 4.2 Interpretations of Inheritance -- 4.3 Inheritance as Subtyping -- 4.4 Inheritance as Code Sharing -- 4.5 Single Inheritance -- 4.6 Calling More Abstract Methods -- 4.7 Multiple Inheritance -- 4.8 Multiple Inheritance Graph Shape -- 4.9 Approaches to Multiple Inheritance -- 4.10 Implemented Multiple Inheritance Techniques -- 4.11 Mixin Classes -- 4.12 Alternatives to Multiple Inheritance -- 4.13 Delegation and Prototypes -- 4.14 Aggregation -- 5. Methods -- 5.1 Introduction -- 5.2 Methods and Objects -- 5.3 Object Constructors and Methods -- 5.4 Environments and Closures -- 5.5 Methods and Inheritance -- 5.6 Static and Dynamic Binding -- 6. Types I: Types and Objects -- 6.1 Introduction -- 6.2 Inheritance and Types -- 6.3 Polymorphism -- 6.4 Genericity -- 6.5 Overloading and Overriding -- 6.6 Languages with Root Classes -- 6.7 Polyadicity and Default Parameters -- 6.8 Downcasting and Subtypes -- 6.9 Review -- 7. Types II: Types and Objects-Alternatives -- 7.1 Introduction -- 7.2 Types and Implementations -- 7.3 Hiding Implementation Details -- 7.4 Classes and Type Operations -- 7.5 Containers and Objects -- 8. Reflection -- 8.1 Introduction -- 8.2 Class and Meta Class -- 8.3 Meta Class and Reflection -- 8.4 Meta-Object Protocols -- 8.5 Self Representation, Abstract Syntax and Abstract Classes.. -- 8.6 Reflection in Java -- 8.7 Reflection in Prototype-based Languages -- 8.8 Prospects for the Future -- 9. C# -- 9.1 Introduction -- 9.2 Classes and Instances -- 9.3 Inheritance -- 9.4 Methods and Operators -- 9.5 Polymorphism and Types -- 9.6 Base Class Library -- A. BeCecil -- A.1 Programming Standard 00 Mechanisms -- A.2 Syntactic Sugar -- A.3 A Small Example -- A.4 Concluding Remarks -- B. Mixed-Paradigm Languages -- B.1 Introduction -- B.2 Functional Programming: An Overview -- B.2.1 Control Structures and Semantics -- B.2.2 Evaluation Strategies -- B.2.3 Higher-Order Functions -- B.2.4 Hindley-Milner Type Inference -- B.2.5 Syntactic Sugar -- B.3 An Impure Language -- B.3.1 The Object-Oriented Component -- B.3.2 The Functional Component -- B.4 Review -- References.
Abstract:
I was extremely surprised to learn that this book was so well received; I was even more surprised when a second edition was proposed. I had realised that there was a need for a book such as this but had not thought that the need was as great; I really wrote the book for myself, in order better to organise my thoughts on object-oriented languages and better to understand them. For the second edition, I have found and corrected mistakes and have added a completely new chapter on the C# language. The chapter on mixed­ paradigm languages has been relegated to an appendix, and a new appendix on the BeCecil language has been added. - C# is extremely popular. Given its apparent role as the major competitor to Java, it was clear that a chapter was necessary in which a comparison could be made. That chapter concentrates on the language and not on the runtime and support system. C# contributes some new features to the C++ derivatives. The language has rough edges (as Java does still) . It will be interesting to watch its development and to see whether it becomes accepted more widely.
Dil:
English