Each variable has a number, the offset of that variable within the piece of memory that represents an object. Variables are looked up by offset.

If C is a class with variable v, then v has the same offset in every subclass of C as it has in C, so code in all subclasses find v in the same way. That makes selection by position polymorphic. Variables created in subclasses are added to the end of the memory chunk of an object.

That idea does not work for a multiple-inheritance language.