Get the App
SLTechnology News&Howtos  ›  Development  › 

How to implement Combinatorial inheritance by js

Shulou Source: shulou.com Published: 2022-06-01 02:14:21 10月26日 Update

This article will explain in detail how to achieve combinatorial inheritance in js. The editor thinks it is very practical, so I share it with you as a reference. I hope you can get something after reading this article.

The parent class code is as follows:

/ / define an animal class function Animal (name) {/ / attribute this.name = name | | 'Animal'; / / instance method this.sleep = function () {console.log (this.name +' sleeping!') ;}} / / prototype method Animal.prototype.eat = function (food) {console.log (this.name + 'eating:' + food);}; combinatorial inheritance

Core: inherit the properties of the parent class and retain the advantages of passing parameters by calling the parent class construction, and then realize function reuse by using the parent class instance as the subclass prototype

Function Cat (name) {Animal.call (this); this.name = name | | 'Tom';} Cat.prototype = new Animal (); / / combinatorial inheritance is also pointed to by the repair constructor. Cat.prototype.constructor = Cat;// Test Codevar cat = new Cat (); console.log (cat.name); console.log (cat.sleep ()); console.log (cat instanceof Animal); / / trueconsole.log (cat instanceof Cat); / / true

Features:

It makes up for the defect of mode 2, which can inherit both instance properties / methods and prototype properties / methods.

Is an instance of both a subclass and a parent class

There is no problem of reference attribute sharing

Transferable parameter

Function reusable

Disadvantages:

The parent class constructor is called twice and two instances are generated (the subclass instance masks the one on the subclass prototype)

This is the end of this article on "how to achieve combinatorial inheritance in js". I hope the above content can be of some help to you, so that you can learn more knowledge. if you think the article is good, please share it for more people to see.

Tags: Instances attributes combinations functions prototypes subclasses methods articles more being reusing good practical code advantages content animals animal classes pointing articles Apple Docker Huawei Linux macOS MariaDB Microsoft MySQL NVidia OPPO Reno Shulou Tech Info Docker Shulou Technology Microsoft Linux