タグ

2016年12月2日のブックマーク (2件)

  • [雑記] 多重継承できない理由

    「継承」で説明した通り、C#ではクラスの多重継承を認めていません。すなわち、どんな型も基底クラスは1つだけです。制限なしの多重継承は実装のコストが結構高く、メリットに対してコストが見合わないというのが一般的な見方です。ここでは、その多重継承にかかるコストについて説明していきます。 オブジェクトのメモリ レイアウト 単一継承時のメモリ レイアウト 多重継承を認めた場合のメモリ レイアウト ダイヤモンド問題 実際にほしかったものはインターフェイス オブジェクトのメモリ レイアウト 多重継承を認めた場合に問題となるのは、オブジェクトのメモリ レイアウトです。そこでまず、このメモリ レイアウトについて軽く説明しておきます。 実行時型情報で少し触れていますが、クラスや構造体などの複合型は、実行時にはメモリ上でどうレイアウトされるかが決まっています。 例えば、以下のようなクラスがあったとします。 cl

    [雑記] 多重継承できない理由
    yoppiblog
    yoppiblog 2016/12/02
    今まで読んだ中で一番わかりやすかった... :)
  • ピックアップセール!!CX-5用カーマット・フロアマット@かーまっと工房