Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
function Child12() {
ExtClass.call(this, {
Child1: null,
Child2: null
});
this.message = function() {
// вызов по очереди одноименного метода всех родительских классов
var message = this.$super['Parent1'].message.call(this) + "\n";
message += this.$super['Parent2'].message.call(this) + "\n";
message += this.$super['Child1'].message.call(this) + "\n";
message += this.$super['Child2'].message.call(this) + "\n";
// ну и от себя )
message += 'Child12::message'
return message;
}
}
function Child12() {
Child1.call( this );
Child2.call( this );
this.message = function() {
// вызов по очереди одноименного метода всех родительских классов
var message = Parent1.message.call(this) + "\n";
message += Parent2.message.call(this) + "\n";
message += Child1.message.call(this) + "\n";
message += Child2.message.call(this) + "\n";
// ну и от себя )
message += 'Child12::message'
return message;
}
}
Child12 = new Class({
Implements: [ Child1, Child2 ],
message: function() {
// вызов по очереди одноименного метода всех родительских классов
var message = Parent1.message.call(this) + "\n";
message += Parent2.message.call(this) + "\n";
message += Child1.message.call(this) + "\n";
message += Child2.message.call(this) + "\n";
// ну и от себя )
message += 'Child12::message'
return message;
}
});
Parent1 = new Class({
message: function() {
return 'Parent1::message';
}
});
Parent2 = new Class({
message: function() {
return 'Parent2::message';
}
});
Child12 = new Class({
Implements: [ Parent1, Parent2 ],
message: function() {
// вызов по очереди одноименного метода всех родительских классов
var message = Parent1.message.call(this) + "\n";
message += Parent2.message.call(this) + "\n";
message += 'Child12::message'
return message;
}
});
myChild = new Child12();
alert(myChild.message());
this.parent = function(parentName, methodName, ...args...) {
...
};
var myNewClass = $.jClass({
Extends: myParentClass,
// ... и т.д.
});
Javascript: «классы» и наследование