Introduction to Object -Oriented Programming
Introduction
Contents
1 Introduction
2 A Survey of Programming Techniques
2.1 Unstructured Programming
2.2 Procedural Programming
2.3 Modular Programming
2.4 An Example with Data Structures
2.4.1 Handling Single Lists
2.4.2 Handling Multiple Lists
2.5 Modular Programming Problems
2.5.1 Explicit Creation and Destruction
2.5.2 Decoupled Data and Operations
2.5.3 Missing Type Safety
2.5.4 Strategies and Representation
2.6 Object-Oriented Programming
2.7 Excercises
3 Abstract Data Types
3.1 Handling Problems
3.2 Properties of Abstract Data Types
3.3 Generic Abstract Data Types
3.4 Notation
3.5 Abstract Data Types and Object-Orientation
3.6 Excercises
4 Object-Oriented Concepts
4.1 Implementation of Abstract Data Types
4.2 Class
4.3 Object
4.4 Message
4.5 Summary
4.6 Excercises
5 More Object-Oriented Concepts
5.1 Relationships
5.2 Inheritance
5.3 Multiple Inheritance
5.4 Abstract Classes
5.5 Excercises
6 Even More Object-Oriented Concepts
6.1 Generic Types
6.2 Static and Dynamic Binding
6.3 Polymorphism
7 Introduction to C++
7.1 The C Programming Language
7.1.1 Data Types
7.1.2 Statements
7.1.3 Expressions and Operators
7.1.4 Functions
7.1.5 Pointers and Arrays
7.1.6 A First Program
7.2 What Next?
8 From C To C++
8.1 Basic Extensions
8.1.1 Data Types
8.1.2 Functions
8.2 First Object-oriented Extensions
8.2.1 Classes and Objects
8.2.2 Constructors
8.2.3 Destructors
9 More on C++
9.1 Inheritance
9.1.1 Types of Inheritance
9.1.2 Construction
9.1.3 Destruction
9.1.4 Multiple Inheritance
9.2 Polymorphism
9.3 Abstract Classes
9.4 Operator Overloading
9.5 Friends
9.6 How to Write a Program
9.6.1 Compilation Steps
9.6.2 A Note about Style
9.7 Excercises
10 The List - A Case Study
10.1 Generic Types (Templates)
10.2 Shape and Traversal
10.3 Properties of Singly Linked Lists
10.4 Shape Implementation
10.4.1 Node Templates
10.4.2 List Templates
10.5 Iterator Implementation
10.6 Example Usage
10.7 Discussion
10.7.1 Separation of Shape and Access Strategies
10.7.2 Iterators
10.8 Excercises
A Solutions to the Excercises
A.1 A Survey of Programming Techniques
A.2 Abstract Data Types
A.3 Object-Oriented Concepts
A.4 More Object-Oriented Concepts
A.5 More on C++
A.6 The List - A Case Study
Introduction to Object -Oriented Programming
Introduction