Javascript で継承を行う方法を理解しようとして、Crockfords、Resigs、、、およびその他を含む多くの異なる実装に出くわしPrototype
ましklass
た。
私が見逃していたのは (大騒ぎに備えて身構えていた)、Smalltalkish の自己/スーパー ペアでした。つまり、現在の「オブジェクト」を表し、のスーパークラスのみのバージョンを参照するself
と同様の役割を果たします。this
super
this
super
[ Smalltalk で何が行われるSubclass
かを知っている場合method1
は、"]" にスキップしてSuperclass
ください。これはコードを実行しません。super.method1()
Subclass.method2()
Subclass.method1()
function Superclass () {
}
Superclass.prototype.method1 = function () {
return "super";
}
function Subclass () {
}
Subclass.prototype.method1 = function () {
return "sub";
}
Subclass.prototype.method2 = function () {
alert (super.method1 ());
}
var o = new Subclass;
o.method2 (); // prints "super"
]
「Javatalk」パッケージはありますか? method2
これまでのところ、現在定義されているメソッド ( )のスーパークラス実装へのアクセスを提供する Javascript のオブジェクト指向エミュレーションのみを見てきましたmethod1
。
ありがとう、のび