Object-Oriented Programming in Oberon-2
Springer Berlin (Verlag)
978-3-540-60062-6 (ISBN)
Die Programmiersprache Oberon-2 entstammt - wie Pascal und Modula-2 - der Wirth-Schule an der ETH in Zürich. H. Mössenböck, selbst Professor an der ETH, führt von den Grundlagen objektorientierten Programmierens hin zu einer umfangreichen, realistischen Anwendung (Fenstersystem mit Text- und Grafikeditor). Das Buch eignet sich sowohl für die Ausbildung im Studium als auch für den Praktiker, der sich mit den modernsten Programmier-Konzepten vertraut machen möchte.
Without a doubt the idea of object-oriented programming has brought some motion into the field of programming methodology and enlarged the set of programming languages. Object-oriented programming is nothing new-it first arose in the sixties. The motivation came from the simulation of discrete event systems. The concept first manifested itself in the language Simula 67. It took nearly two decades for the method to gain impetus, and today object-oriented programming is an important concept and a powerful technique. Meanwhile, we can even speak of an over reaction, for the concept has become a buzzword. But buzzwords always appear where there is the hope of exploiting ill-informed clients because they see the new approach as the solution to all their problems. Thus object-oriented programming is often hailed as a panacea. And so the question is justified: What is really behind it? To let the cat out of the bag: There is more to object-oriented programming than merely putting data as objects in the fore ground, instead of algorithms to which the data are subject. It is more than purely an alternative view of programmed systems. To identify the essence of object-oriented programming, is the subject of this book. This is a textbook that shows in a didactically skillful way which concepts and constructs are new, where they can be employed reasonably, and what advantages they offer. For, not all programs are automatically improved by merely recasting them in an object-oriented style.
Hanspeter Mössenböck ist Professor für Informatik an der Universität Linz. Seine Interessen liegen auf dem Gebiet der Programmiersprachen und der Systemsoftware, insbesondere des Übersetzerbaus. Von 1988 bis 1994 war er Assistenzprofessor an der ETH Zürich und Mitarbeiter von Prof. Niklaus Wirth im Oberon-Projekt. Seit 2000 kooperieren er und sein Institut mit dem Java-Team bei Sun Microsystems bzw. Oracle in Kalifornien. Dabei wurden neue Optimierungen im Java-Compiler und in der Java-VM entwickelt, die heute Teil der Java-Distribution sind. Ferner hatte er Gastprofessuren in Oxford und Budapest inne, wo ihm 2006 ein Ehrendoktorat verliehen wurde.
1 Overview.- 1.1 Procedure-Oriented Thinking.- 1.2 Object-Oriented Thinking.- 1.3 Object-Oriented Languages.- 1.4 How OOP Differs from Conventional Programming.- 1.5 Classes as Abstraction Mechanisms.- 1.6 History of Object-Oriented Languages.- 1.7 Summary.- 2 Oberon-2.- 2.1 Features of Oberon-2.- 2.2 Declarations.- 2.3 Expressions.- 2.4 Statements.- 2.5 Procedures.- 2.6 Modules.- 2.7 Commands.- 3 Data Abstraction.- 3.1 Concrete Data Structures.- 3.2 Abstract Data Structures.- 3.3 Abstract Data Types.- 4 Classes.- 4.1 Methods.- 4.2 Classes and Modules.- 4.3 Examples.- 4.4 Common Questions.- 5 Inheritance.- 5.1 Type Extension.- 5.2 Compatibility of a Base Type and its Extension.- 5.3 Static and Dynamic Type.- 5.4 Run-Time Type Checking.- 5.5 Extensibility in an Object-Oriented Sense.- 5.6 Common Questions.- 6 Dynamic Binding.- 6.1 Messages.- 6.2 Abstract Classes.- 6.3 Examples.- 6.4 Message Records.- 6.5 Common Questions.- 7 Typical Applications.- 7.1 Abstract Data Types.- 7.2 Generic Components.- 7.3 Heterogeneous Data Structures.- 7.4 Replaceable Behavior.- 7.5 Adaptable Components.- 7.6 Semifinished Products.- 7.7 Summary.- 8 Useful Techniques.- 8.1 Initialization of Objects.- 8.2 Extending a System at Run Time.- 8.3 Persistent Objects.- 8.4 Wrapping Classes in Other Classes.- 8.5 Extensibility in Multiple Dimensions.- 8.6 Multiple Inheritance.- 8.7 Models and Views.- 8.8 Iterators.- 8.9 Modifying Inherited Methods.- 9 Object-Oriented Design.- 9.1 Functional Design.- 9.2 Object-Oriented Design.- 9.3 Identifying the Classes.- 9.4 Designing the Interface of a Class.- 9.5 Abstract Classes.- 9.6 Relationships between Classes.- 9.7 When to Use Classes.- 9.8 Common Design Errors.- 10 Frameworks.- 10.1 Subsystems and Frameworks.- 10.2 The MVC Framework.- 10.3 A Framework forObjects in Texts.- 10.4 Application Frameworks.- 11 Oberon0 - A Case Study.- 11.1 The Viewer System.- 11.2 Handling User Input.- 11.3 A Text Editor.- 11.4 A Graphics Editor.- 11.5 Embedding Graphics in Texts.- 12 Costs and Benefits of OOP.- 12.1 Benefits.- 12.2 Costs.- 12.3 The Future.- A Oberon-2 - Language Definition.- A.1 Introduction.- A.2 Syntax.- A.3 Vocabulary and Representation.- A.4 Declarations and Scope Rules.- A.5 Constant Declarations.- A.6 Type Declarations.- A.7 Variable Declarations.- A.8 Expressions.- A.9 Statements.- A.10 Procedure Declarations.- A.11 Modules.- A.12 Appendices to the Language Definition.- B The Module OS.- C The Module IO.- D How to Get Oberon.
Erscheint lt. Verlag | 7.9.1995 |
---|---|
Übersetzer | R. Bach |
Vorwort | N. Wirth |
Zusatzinfo | XIII, 278 p. 14 illus. |
Verlagsort | Berlin |
Sprache | englisch |
Maße | 155 x 235 mm |
Gewicht | 451 g |
Themenwelt | Mathematik / Informatik ► Informatik ► Software Entwicklung |
Schlagworte | clean • Computer Science • data structure • data structures • Design • Development • HC/Informatik, EDV/Informatik • HC/Informatik, EDV/Programmiersprachen • language • Oberon • Oberon-2 • OBERON (Programmiersprache) • object • object-oriented programming • object-oriented programming (OOP) • Objektorientierte Programmierung • programming • Programming Languages • Software • Software engineering • WINDOWS |
ISBN-10 | 3-540-60062-0 / 3540600620 |
ISBN-13 | 978-3-540-60062-6 / 9783540600626 |
Zustand | Neuware |
Haben Sie eine Frage zum Produkt? |
aus dem Bereich