В Object.prototype нужно засунуть нативный get bar () {} и set bar () {},
и еще один object ! 
Если делаю так то prototype перезаписывается; 
var Foo = function () {
  this.name = 'john',;
  this.age = 22;
}
var o = function () {}
o.prototype.init = function () {};
Foo.prototype = {
  get bar () {
    console.log(this.age);
  },
  set bar (a) {
    this.age = a;
}
Foo.prototype = new O()
в голову пришла такая реализация , только чет цепочка proto стала очень большой ,может у кого-то есть идея как лучше реализовать 
function Foo(bar) {
   this.bar = bar;
};
Foo.prototype = {
	get in () {
		console.log(this.bar)
	},
	set in (v) {
		this.bar = v;
	}
}
function o () {
	this.name = "john"
}
Foo.prototype.__proto__ = new o()
var foo = new Foo(2);
console.log(foo)