Maison  >  Article  >  interface Web  >  JavaScript implémente des méthodes similaires à l'héritage POO basées sur les compétences prototype_javascript

JavaScript implémente des méthodes similaires à l'héritage POO basées sur les compétences prototype_javascript

WBOY
WBOYoriginal
2016-05-16 15:25:171186parcourir

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.

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn