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

  • 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(); 
主站蜘蛛池模板: 武川县| 改则县| 大洼县| 长海县| 桦甸市| 苏尼特右旗| 洛扎县| 平江县| 德化县| 鸡东县| 平陆县| 商洛市| 汉寿县| 高碑店市| 岳阳县| 荣成市| 综艺| 班玛县| 广州市| 遵化市| 拜城县| 高要市| 安国市| 茶陵县| 延庆县| 上饶县| 西青区| 五大连池市| 嘉义市| 年辖:市辖区| 东山县| 个旧市| 平定县| 安庆市| 泉州市| 富顺县| 丹寨县| 临潭县| 稷山县| 崇礼县| 彩票|