OOC:目录

来自 ChinaUnix Wiki

返回

Preface

1 Abstract Data Types — Information Hiding

1.1 Data Types

1.2 Abstract Data Types

1.3 An Example — Set

1.4 Memory Management

1.5 Object

1.6 An Application

1.7 An Implementation — Set

1.8 Another Implementation — Bag

1.9 Summary

1.10 Exercises

2 Dynamic Linkage — Generic Functions

2.1 Constructors and Destructors

2.2 Methods, Messages, Classes and Objects

2.3 Selectors, Dynamic Linkage, and Polymorphisms

2.4 An Application

2.5 An Implementation — String

2.6 Another Implementation — Atom

2.7 Summary

2.8 Exercises

3 Programming Savvy — Arithmetic Expressions

3.1 The Main Loop

3.2 The Scanner

3.3 The Recognizer

3.4 The Processor

3.5 Information Hiding

3.6 Dynamic Linkage

3.7 A Postfix Writer

3.8 Arithmetic

3.9 Infix Output

3.10 Summary

4 Inheritance — Code Reuse and Refinement

4.1 A Superclass — Point

4.2 Superclass Implementation — Point

4.3 Inheritance — Circle

4.4 Linkage and Inheritance

4.5 Static and Dynamic Linkage

4.6 Visibility and Access Functions

4.7 Subclass Implementation — Circle

4.8 Summary

4.9 Is It or Has It? — Inheritance vs. Aggregates

4.10 Multiple Inheritance

4.11 Exercises

5 Programming Savvy — Symbol Table

5.1 Scanning Identifiers

5.2 Using Variables

5.3 The Screener — Name

5.4 Superclass Implementation — Name

5.5 Subclass Implementation — Var

5.6 Assignment

5.7 Another Subclass — Constants

5.8 Mathematical Functions — Math

5.9 Summary

5.10 Exercises

6 Class Hierarchy — Maintainability

6.1 Requirements

6.2 Metaclasses

6.3 Roots — Object and Class

6.4 Subclassing — Any

6.5 Implementation — Object

6.6 Implementation — Class

6.7 Initialization

6.8 Selectors

6.9 Superclass Selectors

6.10 A New Metaclass — PointClass

6.11 Summary

7 The ooc Preprocessor — Enforcing a Coding Standard

7.1 Point Revisited

7.2 Design

7.3 Preprocessing

7.4 Implementation Strategy

7.5 Object Revisited

7.6 Discussion

7.7 An Example — List, Queue, and Stack

7.8 Exercises

8 Dynamic Type Checking — Defensive Programming

8.1 Technique

8.2 An Example — list

8.3 Implementation

8.4 Coding Standard

8.5 Avoiding Recursion

8.6 Summary

8.7 Exercises

9 Static Construction — Self-Organization

9.1 Initialization

9.2 Initializer Lists — munch

9.3 Functions for Objects

9.4 Implementation

9.5 Summary

9.6 Exercises

10 Delegates — Callback Functions

10.1 Callbacks

10.2 Abstract Base Classes

10.3 Delegates

10.4 An Application Framework — Filter

10.5 The respondsTo Method

10.6 Implementation

10.7 Another application — sort

10.8 Summary

10.9 Exercises

11 Class Methods — Plugging Memory Leaks

11.1 An Example

11.2 Class Methods

11.3 Implementing Class Methods

11.4 Programming Savvy — A Classy Calculator

11.5 Summary

11.6 Exercises

12 Persistent Objects — Storing and Loading Data Structures

12.1 An Example

12.2 Storing Objects — puto()

12.3 Filling Objects — geto()

12.4 Loading Objects — retrieve()

12.5 Attaching Objects — value Revisited

12.6 Summary

12.7 Exercises

13 Exceptions — Disciplined Error Recovery

13.1 Strategy

13.2 Implementation — Exception

13.3 Examples

13.4 Summary

13.5 Exercises

14 Forwarding Messages — A GUI Calculator

14.1 The Idea

14.2 Implementation

14.3 Object-Oriented Design by Example

14.4 Implementation — Ic

14.5 A Character-Based Interface — curses

14.6 A Graphical Interface — Xt

14.7 Summary

14.8 Exercises


A ANSI-C Programming Hints

A.1 Names and Scope

A.2 Functions

A.3 Generic Pointers — void *

A.4 const

A.5 typedef and const

A.6 Structures

A.7 Pointers to Functions

A.8 Preprocessor

A.9 Verification — assert.h

A.10 Global Jumps — setjmp.h

A.11 Variable Argument Lists — stdarg.h

A.12 Data Types — stddef.h

A.13 Memory Management — stdlib.h

A.14 Memory Functions — string.h

B The ooc Preprocessor — Hints on awk Programming

B.1 Architecture

B.2 File Management — io.awk

B.3 Recognition — parse.awk

B.4 The Database

B.5 Report Generation — report.awk

B.6 Line Numbering

B.7 The Main Program — main.awk

B.8 Report Files

B.9 The ooc Command

C Manual

C.1 Commands

C.2 Functions

C.3 Root Classes

C.4 GUI Calculator

个主工具