タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

Cloneに関するrbyのブックマーク (2)

  • 継承を考慮したICloneableの実装(C#) - reflux flow

    ここでは、継承した場合でもコピーを作成できるICloneableの実装方法(ディープコピー)をいくつか紹介します。 メモ: 一般に、ディープコピーの実装や保守には手間が掛かります。ここで紹介する実装方法でも、シリアライザを利用する方法以外では、派生クラスで必ずCloneメソッドをオーバーライドしなければなりません。また、クラスのフィールドが増減する度にCloneメソッドを修正する必要があります。可能であればオブジェクトをimmutable(不変)に設計し、ディープコピーの実装を回避した方が良いでしょう。 メモ: ICloneableの仕様では、Cloneメソッドによるコピー処理は、シャローコピー(簡易コピー)とディープコピー(詳細コピー)のどちらでも良いことになっています。その結果、ICloneableを実装していても実装詳細を知らなければCloneメソッドの挙動を予測できません。そのため

  • オブジェクトの複製 (ICloneable, Clone, MemberwiseClone) - smdn.jp

    ひとくちに複製と言っても、単純にコピー元の値をコピー先に代入することで行う複製や、なんらかのメソッドを呼び出すことで行う複製などさまざまな方法があります。 また複製を行う機能を実装する場合も、構造体やクラスなど複数のフィールドからなる型ではすべてのフィールドを複製する必要があります。 これらの他の型を内包する複合型の場合では、内包するオブジェクトも含めて複製するか、参照のみをコピーするかといったことが考えられます。 さらに、.NET Frameworkでは型には値型と参照型の二種類が存在するため、複製の際にはそれらの違いも考慮する必要があります。 ここではオブジェクトの複製を作成する方法と、複製を作成する機能を提供するICloneableインターフェイスについて解説します。

    オブジェクトの複製 (ICloneable, Clone, MemberwiseClone) - smdn.jp
    rby
    rby 2016/11/22
  • 1