Classical inheritance enforces that a method can only be overridden by another method in a subclass.<p>Prototypical &quot;inheritance&quot; allows different types of values to be assigned to the same symbol.<p>E.g. if you have a method bob() on a prototype, you can set object.bob = &#x27;astring&#x27;; and it isn&#x27;t an error.