Heim  >  Artikel  >  Web-Frontend  >  JavaScript implementiert Methoden, die der OOP-Vererbung ähneln, basierend auf Prototyp_Javascript-Fähigkeiten

JavaScript implementiert Methoden, die der OOP-Vererbung ähneln, basierend auf Prototyp_Javascript-Fähigkeiten

WBOY
WBOYOriginal
2016-05-16 15:25:171187Durchsuche

Das Beispiel in diesem Artikel beschreibt, wie JavaScript eine ähnliche OOP-Vererbung basierend auf dem Prototyp implementiert. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:

Hier ist zu beachten, dass öffentliche Eigenschaften (mit dem Modifikator this.) überschrieben werden können, private Eigenschaften (mit dem Modifikator var) jedoch nicht überschrieben werden können

Unterklassen können nicht auf die privaten Eigenschaften der übergeordneten Klasse zugreifen, und die Methoden der übergeordneten Klasse können normal auf die privaten Variablen der übergeordneten Klasse zugreifen.

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();

Ich hoffe, dass dieser Artikel für alle hilfreich ist, die sich mit der JavaScript-Programmierung befassen.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn