「テセウスの船 第6章 object船 パートB (2025/04/06)」







//初期状態
var ship = new Ship();
var ship_1 = ship;

//パーツの交換
ship.parts010 = new Parts10B();
ship.parts053 = new Parts53B();
ship.parts095 = new Parts95B();
ship.parts043 = new Parts43B();
....
ship.parts100 = new Parts100B();

//全てのパーツを交換し終わった
var ship_x = ship;


//同じかどうか、聞いてみる
if (ship_x==ship_1)
 print("同じです");
else
 print("違います");





別の考え方としては:

[フォルダ] ship
 [ファイル] part1
 [ファイル] part2
 [ファイル] part3
...




[フォルダ] ship
 [ファイル] part1b
 [ファイル] part2b
 [ファイル] part3b
...


のように。
 ファイル&フォルダ
で考えてもよろしいでしょう。





ファイルが全部入れ替わっても、
それらを格納している親フォルダ自体は
常に同一。変動してない。


この、パーツのツリー構造。

(目に見えない)親の存在を意識すれば
この問題の理解度が
ぐっと深まると思います。