-4

このスライドで実際にこの MIT コース(問題のスライドは 44 ページにあります) が話していることを理解していますか? フリーズキーとはどういう意味ですか? マップのキーは変更できないことを理解しています。そうしないと、キーと値の両方が失われます。ただし、. でキーを凍結するという概念はよくわかりませんでしたboolean frozen。(私はオンラインで自由にダウンロードできるスライドのみを読んだことがあります。コースには参加しませんでした)

//Freeze Keys
public class Name {
private
String first;
private
String last;
private
boolean frozen = false;

public void setFirst(String s) {
if (!frozen)
first = s;
}
//...
// do same with setLast
public void freeze() {
frozen = true; 

よろしくお願いします。

4

1 に答える 1

2

freeze変数の割り当てをスキップすることにより、セッターへの呼び出しを効果的に無視するようにクラスに指示する単なるフラグです。

インスタンスを作成した後、 を呼び出すとメンバー変数setFirstが設定されます。firstを呼び出した後freeze、 への呼び出しsetFirstは何もしないため、オブジェクトの状態が「フリーズ」します。

于 2013-03-29T17:36:08.427 に答える