blog

デザイン・パターン - プロトタイプ・パターン

オブジェクトを作成するコストが大きく、同じクラスの異なるオブジェクト間の差が小さい場合、作成時間を節約するために、既存のオブジェクトのコピーを使用して新しいオブジェクトを作成することができます。このよ...

Mar 27, 2020 · 1 min. read
シェア

プロトタイプ・パターンの定義

オブジェクトを作成するコストが比較的大きく、同じクラスの異なるオブジェクト間の差が小さい場合、作成時間を節約するために、既存のオブジェクトのコピーを使用して新しいオブジェクトを作成することができます。このように、プロトタイプに基づいてオブジェクトを作成する方法を、プロトタイプ・デザイン・パターン、略してプロトタイプ・パターンと呼びます。

プロトタイプ・パターンの実装:浅いコピーと深いコピー

シャローコピーとディープコピーの違いは、シャローコピーがオブジェクトではなくオブジェクトのインデックスだけをコピーするのに対し、ディープコピーはオブジェクトのインデックスだけでなくデータ自体もコピーするという点です。

Javaでは、Objectクラスのclone()メソッドは、シャロー・コピーと呼ばれる、オブジェクトのベース・データ型と参照オブジェクトのメモリ・アドレスのみをコピーするもので、参照オブジェクト自体を再帰的にコピーするものではありません。

ディープコピー手法の実装

  • 最初の方法:オブジェクトの再帰的コピー
  • つ目の方法:まずオブジェクトをシリアライズし、それを新しいオブジェクトにデシリアライズします。
Read next

連鎖リストのアルゴリズム問題の種類の要約

指定されたノードをカウントダウン単一の連鎖表を操作する必要があります\nアイデアとコードテンプレート\nアルゴリズムの問題のこのタイプは、キーのコアは、指定されたノードの場所を見つける限り、特定のノードの場所を与えられたトピックを見つける必要がある、問題の残りの部分も非常に良いです。以下にいくつかのLeetC

Mar 27, 2020 · 13 min read