var fido = {}; fido.name = "Fido"; fido.barks = true;
![JavaScript-style object literals in PHP](https://cdn-ak-scissors.b.st-hatena.com/image/square/2ed40af5a23be983f27fa8b582222aea5e129542/height=288;version=1;width=512/http%3A%2F%2Fwww.phpied.com%2Fwp-content%2Fuploads%2F2017%2F11%2F94lxJ2Cz_400x400.jpg)
JavaはInterfaceという特殊な実装を持たないものだけ多重継承できる。実装を多重継承する仕組みはない。同じシグネチャのメソッドを持っている2つのInterfaceを継承した際にエラーにならないので衝突に気付けない。 Pythonはクラスを多重継承できる。同じ名前のメソッドを持っている2つのクラスを継承した際にどのメソッドが呼ばれるかはC3線形化を使って決定される。see: A Monotonic Superclass Linearization for Dylan RubyはModuleという「なにかを継承することはできなくてインスタンス化もできないもの」だけは多重継承できる。Moduleが別のものを継承できないためメソッドの解決は素朴な探索でOK(include A include BしたらBでの実装が優先) SmalltalkにはTraitという実装の多重継承ができるしくみがあ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く