SHORT TABLE OF CONTENTS (The full table of contents starts on page xvii.) Preface 23 Principles of class design 747 Foreword to the second edition xiii 24 Using inheritance well 809 On the bibliography,Internet sources and exercises xv 25 Useful techniques 871 Contents 26 A sense of style 875 Part A:The issues 27 Object-oriented analysis 903 1 Software quality 3 28 The software construction process 923 2 Criteria of object orientation 21 29 Teaching the method 935 Part B:The road to object orientation 37 Part E:Advanced topics 949 3 Modularity 39 30 Concurrency,distribution,client-server 4 Approaches to reusability 67 and the Internet 951 5 Towards object technology 101 31 Object persistence and databases 1037 6 Abstract data types 121 32 Some O-O techniques for graphical interactive applications 1063 Part C:Object-oriented techniques 163 7 The static structure:classes 165 Part F:Applying the method in various 1077 8 The run-time structure:objects 217 languages and environments 33 O-0 programming and Ada 1079 9 Memory management 279 10 Genericity 317 34 Emulating object technology in non-O-0 environments 1099 11 Design by Contract:building reliable software 331 35 Simula to Java and beyond:major O-O 12 When the contract is broken:exception languages and environments 1113 handling 411 13 Supporting mechanisms 439 Part G:Doing it right 1141 14 Introduction to inheritance 459 36 An object-oriented environment 1143 15 Multiple inheritance 519 Epilogue,In Full Frankness Exposing the 16 Inheritance techniques 569 Language 1161 17 Typing 611 Part H:Appendices 1163 18 Global objects and constants 643 A Extracts from the Base library 1165 Part D:Object-oriented methodology:applying B Genericity versus inheritance 1167 the method well 661 19 On methodology 663 C Principles,rules,precepts and definitions 1189 20 Design patter:multi-panel interactive systems675 D A glossary of object technology 1193 21 Inheritance case study:"undo"in an 695 E Bibliography 1203 interactive system 22 How to find the classes 719 Index 1225
SHORT TABLE OF CONTENTS (The full table of contents starts on page xvii.) Preface v Foreword to the second edition xiii On the bibliography, Internet sources and exercises xv Contents xvii Part A: The issues 1 1 Software quality 3 2 Criteria of object orientation 21 Part B: The road to object orientation 37 3 Modularity 39 4 Approaches to reusability 67 5 Towards object technology 101 6 Abstract data types 121 Part C: Object-oriented techniques 163 7 The static structure: classes 165 8 The run-time structure: objects 217 9 Memory management 279 10 Genericity 317 11 Design by Contract: building reliable software 331 12 When the contract is broken: exception handling 411 13 Supporting mechanisms 439 14 Introduction to inheritance 459 15 Multiple inheritance 519 16 Inheritance techniques 569 17 Typing 611 18 Global objects and constants 643 Part D: Object-oriented methodology: applying the method well 661 19 On methodology 663 20 Design pattern: multi-panel interactive systems 675 21 Inheritance case study: “undo” in an interactive system 695 22 How to find the classes 719 23 Principles of class design 747 24 Using inheritance well 809 25 Useful techniques 871 26 A sense of style 875 27 Object-oriented analysis 903 28 The software construction process 923 29 Teaching the method 935 Part E: Advanced topics 949 30 Concurrency, distribution, client-server and the Internet 951 31 Object persistence and databases 1037 32 Some O-O techniques for graphical interactive applications 1063 Part F: Applying the method in various languages and environments 1077 33 O-O programming and Ada 1079 34 Emulating object technology in non-O-O environments 1099 35 Simula to Java and beyond: major O-O languages and environments 1113 Part G: Doing it right 1141 36 An object-oriented environment 1143 Epilogue, In Full Frankness Exposing the Language 1161 Part H: Appendices 1163 A Extracts from the Base library 1165 B Genericity versus inheritance 1167 C Principles, rules, precepts and definitions 1189 D A glossary of object technology 1193 E Bibliography 1203 Index 1225