This note explains
the following topics: Short recapitulation of basics of object-oriented
programming in C++, Memory management , Constant values and objects, Error
handling, Inheritance, Dynamic polymorphism, Static polymorphism, The Standard
Template Library, Traits, Policies, Template metaprogramming, Expression
templates, C++11 threads.
The course note presents the theory and practice of object-oriented
programming. It enhances students understanding of the concepts of object,
class, message, method, inheritance, and genericity. This note covers a basic
model for objects; the principles of types and polymorphism in object-oriented
programming languages; different forms of abstraction; and theory and practice
of reuse. The course also introduces students to some object-oriented design
patterns that practitioners have found useful.
This book covers the following topics: Introduction to Analysis, Object
Statics, Object Relationships, Object Dynamics, Object Interaction, Class
Relationships, Ensembles, Constructing a System Model, Attributes in Design,
Designing Transitions, Interaction Designs, Dispatching, Clustering Objects,
Designing Passive Objects and Performance Optimization.
Author(s): Dennis de Champeaux, Douglas Lea, and Penelope