私が直面している問題を示すために、このjsfiddleを作成しました。
読み進める前に一読することをお勧めします。
よし、これで準備ができた。
ご覧のとおり、クラス継承チェーンがあります: LeafDevice
-> EndDevice
-> SubNetDevice
-> NetDevice
-> Device
. 新しいものをインスタンス化するとLeafDevice
、チェーンは満たされます (つまり、正しい順序で実行されます) が、LeafDevice
およびからの属性のみEndDevice
が設定されます (コンソールを見てください)。
update メソッドを実行すると、2 ごとにクラスがジャンプするように見えます...つまり、出力から、javascript がEndDevice.update()
andメソッドを実行していないように見えることがわかります... ,からのNetDevice.update()
属性のみが更新/追加されます (再び、コンソールを見てください)...
私が間違っていることを理解できないので、これは私を夢中にさせています!!
私がやろうとしているのは、インスタンス化することですDevice
SubNetDevice
LeafDevice
LeafDevice
myDeviceAttr
最後に定義されたすべての属性 ( 、myNetDeviceAttr
、mySubNetDeviceAttr
、 )myEndDeviceAttr
を持つように定義された継承チェーンに従うオブジェクトmyLeafDeviceAttr
。
ここで何が起こっているのか、いくつかのアイデアを教えてください。
どうもありがとう!!