все можно наглядно увидеть прямо в листе переменных...
воспользуемся всем уже известной фишкой:

Код:
deprotect = function (o) {
ASSetPropFlags(o, null, 8, 7);
if (typeof (o) == "function") {
ASSetPropFlags(o.prototype, null, 8, 7);
} else {
ASSetPropFlags(o.__proto__, null, 8, 7);
}
};
теперь пишем:

Код:
//
cavat = function () {
};
cavat.prototype.test = "property of cavat class !";
//
gutta = new cavat();
//
deprotect(Object);
deprotect(gutta);
//
trace(cavat.prototype.__proto__ == Object.prototype);
trace(cavat.__proto__.__proto__ == Object.prototype);
запускаем, жмем Ctrl+Alt+V, и видим:

Код:
Variable _level0.cavat = [function] {
prototype:[object #3, class 'Object'] {
constructor:[function],
__proto__:[object #4] {
constructor:[function 'Object'] {
prototype:[object #4]
},
watch:[function],
unwatch:[function],
addProperty:[function],
valueOf:[function],
toString:[function],
hasOwnProperty:[function],
isPrototypeOf:[function],
isPropertyEnumerable:[function],
toLocaleString:[function 'toLocaleString']
},
test:"property of cavat class !"
}
}
Variable _level0.gutta = [object #15] {
__proto__:[object #3, class 'Object'],
constructor:[function],
__constructor__:[function]
}
ну вооот... :)
в общем виде наследование можно организовывать так:

Код:
cls1 = function () {
}
cls2 = function () {
}
cls2.prototype = new cls1()