Агрегирование/полиморфизм


* Агрегирование - это использование экземляра класса внутри другого класса

function GeneratorClass() {
    // Свойство
    this.x = 1;
    // Метод
    this.generate = function(n) {
        var s = this.x;
        this.x += n;
        return s;
    }
}

// Класс-агрегатор
function UserClass() {
    this.gen = new GeneratorClass();
    this.getN = function() {
        return this.gen.generate(1);
    }
}

var obj = new UserClass();

alert( obj.getN() );

* Полиморфизм - это изменение сущности метода в дочерних классах.
* JavaScript поддерживает полиморфизм, поскольку позволяет
* перекрывать родительские методы, хотя и в полуручном режиме.