Inheritance : Inheritance « Object Oriented « JavaScript Tutorial






Call the constructor from base class

A constructor assigns all properties and methods using the this keyword.

You can make the constructor of BaseClass into a method of SubClass and call it.

After the calling, subClass receives the properties and methods defined in BaseClass's constructor.

In the following code, the 'newMethod' is assigned to BaseClass.

Then, the 'newMethod' is called, passing the color argument from the SubClass constructor.

The final line of code deletes the reference to BaseClass so that it cannot be called later on.

function BaseClass(sColor) {
    this.color = sColor;
    this.sayColor = function () {
        alert(this.color);
    };
}

function SubClass(sColor) {
    this.newMethod = BaseClass;
    this.newMethod(sColor);
    delete this.newMethod;
}

var objA = new BaseClass("red");
var objB = new SubClass("blue");
objA.sayColor();
objB.sayColor();
objB.sayName();








25.9.Inheritance
25.9.1.Inheritance
25.9.2.Adding new properties and methods to the child class
25.9.3.The Call() Method
25.9.4.Using 'call method' to call the constructor of base class
25.9.5.The Apply() Method
25.9.6.Using 'apply method' to call the constructor of the base class
25.9.7.Prototype Chaining
25.9.8.All new properties and methods of the subclass must come after the assignment of the prototype property
25.9.9.Using apply function to call base constructor
25.9.10.Using call function to call the constructor from base class
25.9.11.Three-level inheritance
25.9.12.Using xbObjects to call the function from base class
25.9.13.Using xbObjects to build three-level inheritance
25.9.14.Hybrid Method for class inheritance
25.9.15.Three level inheritance by using the Hybrid Method
25.9.16.Class Inheritance