The synthesis / polymerization principle is to use some existing objects in a new object, making it part of the new object; new objects reach the purpose of multiplexing to these objects.
Short-expressing: Try to use synthetic / polymerization as much as possible, do not use inheritance.
Synthesis and polymerization are special types of associated special types. The polymerization is used to represent the "HAS-A" relationship or the overall relationship between the overall and part, and the synthesis is used to represent a strong "HAS-A" relationship. In one synthetic relationship, partial and overall life cycles are the same. An object can only belong to a synthetic relationship within the same time, and the component object in a synthetic relationship cannot be shared with another synthetic relationship.
This multiplex is a black box multiplex.
Inheritance multiplexes get new features by extending an existing object.
Inheritance multiplexing is destroyed, because inherits the detail of the superclass to the child class.
This multiplex is a white box multiplexing.
If the implementation of the superclass changes, the implementation of the subclass has to change.
"IS-A" is a definition of strictly sophisticated significance, meaning that a class is another class.
"HAS-A" is a responsibility to represent a role.
Inheritance is "IS-A" relationship. Synthesis / polymerization is "HAS-A" relationship.