Object-Oriented Programming in Oberon-2 by Hanspeter Mössenböck.

Object-oriented programming (OOP) tends to improve software quality by promoting structure, extensibility, and reusability of software. Its fundamentals are data abstraction, inheritance and dynamic binding. But it is not enough to understand these concepts; one must also learn how to make good use...

Full description

Saved in:
Bibliographic Details
Main Author: Mössenböck, Hanspeter (Author)
Corporate Author: SpringerLink (Online service)
Format: eBook
Language:English
Published: Berlin, Heidelberg : Springer Berlin Heidelberg : Imprint: Springer, 1995.
Edition:2nd ed. 1995.
Series:Springer eBook Collection.
Subjects:
Online Access:Click to view e-book
Holy Cross Note:Loaded electronically.
Electronic access restricted to members of the Holy Cross Community.
Table of Contents:
  • 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 for Objects 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.