►
Fundamentals II (Honors)
Introduction to Class-
based Program Design
General
Texts
Designing Programs with Class
Syllabus
Lectures
Labs
Assignments
Git
Pair Programming
The Style
Class system
Blog
▼
Designing Programs with Class
Preface
I
Basic Design with Objects
2
Objects = Data +
Function
3
Classes of Objects:
Data Definitions
4
Classes of Objects:
Interface Definitions
5
Parameterized Data and Interfaces
6
Solidifying what we’ve done
VII
Schemes of a Larger Design
8
Larger system design:
Snakes on a plane
9
Universe
10
Guess my number
XI
Abstraction with Objects
12
Abstraction via Delegation
13
Abstraction via Inheritance
14
Abstraction via Functions
15
Overriding
16
Extensional Equality
17
Visitors and Folds
XVIII
Invariants
19
Invariants, Testing, and Abstraction Barriers
20
Constructors
XXI
Mutation
22
Ch-
Ch-
Ch-
Ch-
Changes
23
Circular Data
24
Back-
channels
25
Intensional equality
XXVI
Java
27
Java
28
???
29
Extensional Equality in Java
XXX
A Class of Your Own
31
Under the Hood:
Implementing OO
XXXII
Solutions
33
Solutions
Index
← prev
up
next →
XXVI
Java
← prev
up
next →