<html>
<head>
<title>Inheritance demo</title>
</head>
<body>
<script type="text/javascript">
var Class = function(parent,methods){
if (arguments.length == 1) {
methods = parent;
parent = null;
}
var child = function() {
this.initialize.apply(this, arguments);
};
if (typeof(parent) == 'function') {
child.prototype = new parent;
child.superclass = parent;
}
if (typeof(methods) != 'undefined' && methods !== null) {
for (var prop in methods) {
if (!child.prototype[prop] && typeof(methods[prop]) == 'function') {
child.prototype[prop] = methods[prop];
}
}
}
if (!child.prototype.initialize) child.prototype.initialize = function(){};
child.prototype.constructor = child;
return child;
}
var baseClass = Class({
initialize:function(text){
this.text = text;
},
display: function(){
alert(this.text);
}
});
var childClass = Class(baseClass,{
initialize:function(){
this.superclass("base class text");
},
display2: function(){
alert('child class text');
}
});
var obj = childClass();
obj.display();
obj.display2();
</script>
</body>
</html>
Может кто нибудь мне объяснить почему этот код не работает?