The description may be found at the documentation of MVCObject:
The MVCObject constructor is guaranteed to be an empty function, and so you may inherit from MVCObject by simply writing MySubclass.prototype = new google.maps.MVCObject();
This technique will also be used for a google.maps.Marker
-instance.
The constructor of a google.maps.Marker
-instance is the constructor of a google.maps.MVCObject
-instance, so a Marker will have the methods of a MVCObject
So the instance of a google.maps.Marker
basically is an MVCObject extended with properties/methods of the google.maps.Marker
-prototype