L'exemple de cet article décrit comment JavaScript implémente un héritage POO similaire basé sur un prototype. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :
Ce qui doit être noté ici, c'est que les propriétés publiques (en utilisant le modificateur this.) peuvent être remplacées, mais les propriétés privées (en utilisant le modificateur var) ne peuvent pas être remplacées
Les sous-classes ne peuvent pas accéder aux propriétés privées de la classe parent, et les méthodes de la classe parent peuvent normalement accéder aux variables privées de la classe parent.
function Vegetable(){ this.taste='delicious'; var a = 'I\'m Vegetable\'a!' this.fun1 = function(){ alert('Vegetable fun1 doing...'); } this.fun3 = function(){ alert(a); } } function Celery(){ var a = 'I\'m Celery\' a'; this.color = 'green'; this.taste = 'bad'; this.fun1a = function(){ alert('Celeryfun1 doing...'); } this.fun2 = function(){ alert('Celery fun2 doing...'); } this.fun4 = function(){ alert(a); } } Celery.prototype = new Vegetable(); var stick = new Celery(); var polymorphed = stick.taste; //alert(polymorphed); //alert(stick.color); //stick.fun1(); //stick.fun2(); //stick.fun3(); stick.fun4();
J'espère que cet article sera utile à tout le monde dans la programmation JavaScript.