$\require{cancel}$
Basics of OO Design
- Chapter 4 is good, but is mostly about program design considerations at a higher level
- But he introduces abstraction
- Focusing on the correct level of detail at any place in the problem.
- Think about streams
- We recently got glimpse of the operators.
- They somehow convert the datatype to something that the stream can handle.
- We built upon the character abstraction.
- What do you suppose
cout << 3.00
does?
- Another example, which we know better is our AbilityT class
- The user has no idea about all of the static casts going on below the hood.
- He tells us that abstraction
- Allows a programmer to build a element so that others can use them without knowing the underlying design.
- He has a great example on page 143.
- He also introduces code reuse.
- This is valid, but perhaps not germane to our discussion.
- I encourage you to read this sections.
- The rest of chapter 4 is more software engineering than we need.