Inheritance can sometimes get you into trouble. This video examines how inheritance can get out of hand by using a duck simulator example.
- Inheritance is one of the core concepts of object-oriented design. Through inheritance, you can express class relationships that allow you to reuse and extend the behavior and properties of other classes. And code reuse is often touted as the main benefit of inheritance in object-oriented design. Typically you think of one class inheriting from another if they share an IS-A relationship. For instance, if a cat is an animal, then a cat should inherit from the animal class. We can extend this further with other types of animals. In each case, we're reusing the implementation of the classes we inherit from. This is a powerful technique, and there are many designs where inheritance is exactly the right choice. While inheritance is a core concept in object-oriented programming, it's also easy to overdo inheritance and make it the basis of all your object-oriented design. It's easy to treat inheritance as a hammer, making every design look like it needs superclasses and subclasses, in other words, your nails. So pay attention. it might be time to take a closer look at your design. Why? Because as we're going to see, when you overuse inheritance, you can end up with designs that are inflexible and difficult to change.
- 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.