While inheritance is a great strategy for extending behavior, if that behavior needs to vary, you can run into trouble. In this video, see how inheritance can be inflexible.
- [Instructor] What we really need at this point … is an example to demonstrate the problems … with inheritance, so let's take a look … at a class design for a duck simulator. … Let's say we want to design a duck simulator. … To do that we need a set of Duck classes. … It would be natural to think … that you could start with a Duck superclass. … You might give the superclass a quack method … and a swim method … because those are the things that you'd guess all ducks … are going to want to do. … Let's also give it a display method. … But we'll keep that abstract … meaning each subclass will need to implement it … because each duck will want to implement … its own unique appearance. … Now because display is abstract, … that makes our duck class abstract too … meaning that we cannot instantiate a duck directly. … To create a duck, we need some concrete classes. … Let's add a concrete class MallardDuck … and implement its display method … so it looks like a mallard. … And we'll also add a redheaded duck …
- What are design patterns?
- Encapsulating code that varies with the Strategy pattern
- The limitations of inheritance
- Using the Adapter pattern
- Implementing the Observer pattern
- Extending behavior with composition and the Decorator pattern
- Encapsulating iteration with the Iterator pattern
- Object creation with the Factory Method pattern
- Using design principles to guide your object-oriented design
Skill Level Intermediate
1. Design Patterns
2. The Strategy Pattern
3. The Adapter Pattern
4. The Observer Pattern
Using the Observer pattern2m 23s
5. The Decorator Pattern
6. The Iterator Pattern
7. The Factory Patterns
- Mark as unwatched
- Mark all as unwatched
Are you sure you want to mark all the videos in this course as unwatched?
This will not affect your course history, your reports, or your certificates of completion for this course.Cancel
Take notes with your new membership!
Type in the entry box, then click Enter to save your note.
1:30Press on any video thumbnail to jump immediately to the timecode shown.
Notes are saved with you account but can also be exported as plain text, MS Word, PDF, Google Doc, or Evernote.