课程: Programming Foundations: Design Patterns
Revisiting inheritance
- 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. and difficult to change.
随堂练习,边学边练
下载课堂讲义。学练结合,紧跟进度,轻松巩固知识。
内容
-
-
-
-
Revisiting inheritance1 分钟 30 秒
-
(已锁定)
Limitations of inheritance4 分钟 18 秒
-
(已锁定)
Trying interfaces2 分钟 28 秒
-
(已锁定)
Get inspiration from design principles3 分钟 37 秒
-
(已锁定)
Programming to an interface1 分钟 32 秒
-
(已锁定)
Applying the principles4 分钟 36 秒
-
(已锁定)
Exploring the strategy pattern1 分钟 59 秒
-
(已锁定)
Why HAS-A is better than IS-A2 分钟 4 秒
-
(已锁定)
Challenge: The Strategy pattern2 分钟
-
(已锁定)
Solution: The Strategy pattern46 秒
-
-
-
-
-
-
-