JavaScript does not have classes unlike other languages. It uses the concept of prototypes and prototype chaining for inheritance.
Let’s implement prototype chaining
Let’s implement prototype chaining
//SuperType constructor function
function SuperType(){
this.name = "Virat"
}
//SuperType prototype
SuperType.prototype.getSuperName = function(){
return this.name
}
//SubType prototype function
function SubType(){
this.age = 26
}
//Inherit the properties from SuperType
SubType.prototype = new SuperType();
//Add new property to SubType prototype
SubType.prototype.getSubAge = function(){
return this.age;
}
//Create a SubType object
var subTypeObj = new SubType();
console.log(subTypeObj.name); //Output: Virat
console.log(subTypeObj.age); //Output: 26
console.log(subTypeObj.getSuperName()); //Output: Virat
console.log(subTypeObj.getSubAge()); //Output: 26
Above code defines two consructor functions, SuperType and SubType. By default, SubType.prototype has a constructorfunction which points to the constructor function itself and proto property which inherits the default object properties.
//Inherit the properties from SuperType
SubType.prototype = new SuperType();
Now, SubType function has access to all the SuperType properties and methods.
0 comments:
Post a Comment