IMO, прототип javascript очень полезен, и классический ООП не нужен.
В качестве реального примера рассмотрим google maps v3 api .Давайте реализуем новый OverlayView:
// implement an OverlayView //
MyOverlay.prototype = new google.maps.OverlayView();</p>
<p>// the "constructor" function //
function MyOverlay(position, node, map) {
// set the parameters //
this.position = position;
this.node = node;
this.map = map;
this.setMap(this.map);
}</p>
<p>// required onAdd function //
MyOverlay.prototype.onAdd = function() {
// observe the getPanes function inherited from OverlayView //
var panes = this.getPanes();
// bla bla //
}</p>
<p>// required draw function //
MyOverlay.prototype.draw = function() {
// bla bla //
}
// .. other functions //</p>
<p>// now instantiate an object //
var instance = new MyOverlay(position, node, map);
Если это не работает для вас, многие внешние библиотеки (например, Prototype, dojo, jquery и т. Д.) Предлагают отличные решения для классического ООП.