Today we are going to talk about real programming.
Composition Vs. Inheritance. Have you ever heard about these terms? How should you choose between these two terms?
One of the advantages of Object-Oriented programming language is code reuse. There are two ways we can do code reuse either by implementation of inheritance (IS-A relationship), or object composition (HAS-A relationship). Although the compiler and Java virtual machine (JVM) will do a lot of work for you when you use inheritance, you can also get at the functionality of inheritance when you use composition.
As you all know, Inheritance is fundamental to object-oriented programming. A programming language may have objects and messages, but without inheritance, it is not object-oriented (merely “object-based”, but still polymorphic).
Composition is also fundamental to every language. Even if the language does not support composition (rare these days!), humans still think in terms of parts and components. It would be impossible to break down complex problems into modular solutions without composition.
So, how can you possibly know what is the best? How to choose between composition and inheritance? Listen to this episode and find out!
FREE COURSE - 7 Reasons You're Underpaid as a Software Developer http://vid.io/xoue
SUBSCRIBE TO MY CHANNEL: vid.io/xokz
SUPPORT MY YOUTUBE CHANNEL: vid.io/xokw