Cómo definir setter / getter en prototipo

EDITAR oct 2016: Tenga en cuenta que esta pregunta se hizo en 2012. Cada mes, más o menos, alguien agrega una nueva respuesta o comentario que refuta una respuesta, pero realmente no tiene sentido hacerlo, ya que la pregunta probablemente está desactualizada (recuerde, fue paraGnome Javascript para escribir extensiones de gnome-shell, no cosas del navegador, lo cual es bastante específico).

Siguiendomi pregunta anterior sobre cómo hacer subclases en Javascript, estoy haciendo una subclase de una superclase así:

function inherits(Child,Parent) {
    var Tmp = function {};
    Tmp.prototype = Parent.prototype;
    Child.prototype = new Tmp();
    Child.prototype.constructor = Child;
}
/* Define subclass */
function Subclass() {
    Superclass.apply(this,arguments);
    /* other initialisation */
}
/* Set up inheritance */
inherits(Subclass,Superclass);
/* Add other methods */
Subclass.prototype.method1 = function ... // and so on.

Mi pregunta es,¿Cómo defino un setter / getter en el prototipo con esta sintaxis?

Lo solía hacer:

Subclass.prototype = {
    __proto__: Superclass.prototype,
    /* other methods here ... */

    get myProperty() {
        // code.
    }
}

Pero obviamente lo siguiente no funcionará:

Subclass.prototype.get myProperty() { /* code */ }

Estoy usando GJS (GNOME Javascript), y el motor está destinado a ser más o menos igual al de Mozilla Spidermonkey. Mi código no está diseñado para un navegador, siempre que sea compatible con GJS (supongo que eso significa Spidermonkey?), No me importa si no es compatible con otras aplicaciones.

Respuestas a la pregunta(5)

Su respuesta a la pregunta