官术网_书友最值得收藏!

  • Expert Angular
  • Mathieu Nayrolles Rajesh Gunasundaram Sridhar Rao
  • 238字
  • 2021-07-15 17:05:32

Inheritance

Inheritance is the concept of inheriting behaviors from another class or object. It helps to achieve code reusability and build a hierarchy in relationships of classes or objects. Also, inheritance helps you to cast similar classes.

JavaScript, by targeting ES5, doesn't support classes, and so class inheritance is impossible to implement. However, we can implement prototype inheritance instead of class inheritance. Let's explore inheritance in ES5 with examples.

First, create a function named Animal as follows:

var Animal = function() { 
  
    this.sleep = function() { 
       console.log('sleeping'); 
   } 
  
    this.eat = function() { 
       console.log('eating'); 
   } 
} 

Here, we created a function named Animal with two methods: sleep and eat. Now, let's extend this Animal function using the prototype as follows:

Animal.prototype.bark = function() { 
    console.log('barking'); 
} 

Now, we can create an instance of Animal and call the extended function, bark, as follows:

var a = new Animal(); 
a.bark(); 

We can use the Object.Create method to clone a prototype of the parent and create a child object. Then, we can extend the child object by adding methods. Let's create an object named Dog and inherit it from Animal:

var Dog = function() { 
    this.bark = new function() { 
       console.log('barking'); 
   } 
} 

Now, let's clone the prototype of Animal and inherit all the behavior in the Dog function. Then, we can call the Animal method using the Dog instance, as follows:

Dog.prototype = Object.create(animal.prototype); 
var d = new Dog(); 
d.sleep(); 
d.eat(); 
主站蜘蛛池模板: 黎平县| 辽阳市| 康平县| 天津市| 甘泉县| 丰原市| 乐业县| 阿鲁科尔沁旗| 略阳县| 乌拉特前旗| 同心县| 邛崃市| 西乌珠穆沁旗| 荔浦县| 屯留县| 南充市| 正镶白旗| 张家界市| 徐水县| 九台市| 贵港市| 额济纳旗| 龙江县| 湖北省| 海南省| 碌曲县| 军事| 江山市| 绿春县| 黄梅县| 重庆市| 卓尼县| 江口县| 汝南县| 阿拉善左旗| 司法| 余姚市| 巨鹿县| 怀集县| 从江县| 承德市|