私が読んだ記事の中で、多重継承を実装すると複雑さが増していると言われています。しかし、コンシューマ開発者側や言語開発者側の複雑さが増すのではないかと思います。複数の継承は言語消費者または言語の開発者にとって複雑ですか?
我々は曖昧さを乗り越えるために、このような何かを行うことができ、言うことができます:
ここclass Artist{
public void Draw(){ }
}
class Cowboy {
public void Draw() { }
}
class Person : Artist, Cowboy{
}
我々は2つの同じsignatured方法、などthis.base.Artist.Draw()
やthis.base.Cowboy.Draw()
しかし構文ともタイプの外を持っているようですそれのインスタンスからperson.base.Cowboy.Draw()
はこの曖昧さを解決するのに十分なように見えます。
ここで私たちが話しているあいまいさと複雑さは何ですか?そこにはたくさんの商品がありますが、消費者の視点から見ると、それほど複雑ではありません。
base
キーワードは、多くの場合、あいまいさを防ぐことができます。
person.base.Cowbow.Draw();
(new Person()).base.Cowboy.Draw();
((Person) someInstance).base.Cowboy.Draw();
this.base.Cowboy.Draw();
- など
すてきな質問です。 –
どうやってクラス外のあいまいさを解決するのですか? –
どのような(新しいPerson())。Draw()do? – sisve