Get the App
SLTechnology News&Howtos  ›  Development  › 

How to implement parasitic Combinatorial inheritance by js

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

Editor to share with you how js to achieve parasitic combination inheritance, I believe that most people do not know much about it, so share this article for your reference, I hope you can learn a lot after reading this article, let's go to understand it!

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);}; parasitic combination inheritance

Core: cut off the instance properties of the parent class through parasitism, so that when the construction of the parent class is called twice, the instance methods / properties will not be initialized twice, avoiding the disadvantage of combined inheritance

Function Cat (name) {Animal.call (this); this.name = name | | 'Tom';} (function () {/ / create a class with no instance method var Super = function () {}; Super.prototype = Animal.prototype; / / prototype Cat.prototype = new Super ();}) () (); / / Test Codevar cat = new Cat (); console.log (cat.name); console.log (cat.sleep ()) Console.log (cat instanceof Animal); / / trueconsole.log (cat instanceof Cat); / / trueCat.prototype.constructor = Cat; / / the constructor needs to be repaired

Features:

It's perfect.

Disadvantages:

The implementation is more complex.

The above is all the contents of the article "how to achieve parasitic combinatorial inheritance in js". Thank you for reading! I believe we all have a certain understanding, hope to share the content to help you, if you want to learn more knowledge, welcome to follow the industry information channel!

Tags: Instances parasites combinations methods properties articles content prototypes ongoing shortcomings complexity less code functions animals animals most subclasses ways time Apple Docker Huawei Linux macOS MariaDB Microsoft MySQL NVidia OPPO Reno MariaDB macOS Shulou Tech Info vpn MySQL