Object Orientation Overview
2 Days – Course No. WD05
who should attend?
Software
developers, programmers and analysts who are familiar with traditional software
development methodologies and require an overview of object orientation. This
course assumes no prior knowledge of OO concepts.
Prerequisites:
None
performance objectives
Object
orientation has become the predominant paradigm for virtually all modern
software development. OO brings significant benefits to software development,
but also incorporates new concepts, new approaches to development, and an
entirely new vocabulary. This course introduces software professionals to the
world of object orientation in a practical, tangible way that builds on their
existing knowledge and skill sets.
course outline
Perspective
◦
Software
development
◦
Three
(frustrating) rules of software development
◦
Benefits
of an object-oriented approach
Software
Development
◦
Procedural
programming
◦
Modular
programming
◦
Modular
programming and stepwise refinement
◦
Factoring
◦
Structured
programming
◦
Data
types
◦
Composite
data types
The Big
Picture
◦
What
is an object?
◦
Data
types again
◦
Objects
are instances
◦
Major
concepts
◦
Encapsulation
◦
Encapsulation
- summary
◦
Data
abstraction
Objects and
Classes
◦
Object
analysis and design
◦
Brainstorming
◦
Syntactic
lexical analysis
◦
Perspective
◦
Looking
out from inside:
◦
Thinking
in objects
◦
Overloading
Inheritance
◦
The
basics of inheritance
◦
Inheritance
and reuse
◦
Overriding
◦
Design
inheritance
◦
Bad
inheritance
◦
Types
that change with time
Polymorphism
◦
Polymorphism
in the real world
◦
Linking
◦
Binding
◦
Polymorphism,
linking, and binding
◦
Implementing
polymorphism
Multiple
Inheritance and Interfaces
◦
Multiple
inheritance
◦
Good
multiple inheritance
◦
Interfaces
There's
More to Objects
◦
Where
have we been?
◦
Analysis
and design
◦
Encapsulation
◦
Data
abstraction
◦
Inheritance
◦
Polymorphism
◦
Benefits
◦
There's
more to OO...
◦
UML
use cases
◦ More on UML