ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript は、prototype_javascript スキルに基づいて OOP 継承と同様のメソッドを実装します。

JavaScript は、prototype_javascript スキルに基づいて OOP 継承と同様のメソッドを実装します。

WBOY
WBOYオリジナル
2016-05-16 15:25:171187ブラウズ

この記事の例では、JavaScript がプロトタイプに基づいて OOP のような継承を実装する方法について説明します。参考のために皆さんと共有してください。詳細は次のとおりです:

ここで注意すべき点は、パブリック プロパティ (this. 修飾子を使用) はオーバーライドできるが、プライベート プロパティ (var 修飾子を使用) はオーバーライドできないことです

サブクラスは親クラスのプライベート プロパティにアクセスできませんが、親クラスのメソッドは親クラスのプライベート変数に通常どおりアクセスできます。

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

この記事が JavaScript プログラミングのすべての人に役立つことを願っています。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。