簡體   English   中英

課堂上的靜態地圖-公共還是私人?

[英]Static map in class - public or private?

我想在其他類中使用靜態Map。 如果可以的話,請告訴我哪種做法更好。 我可以將其設為私有,並為鍵和值提供適當的獲取器和設置器。 另一方面,第二種選擇只是將其聲明為公共,並且在這些類中使用內置Map Collection中的方法。

第一個選項示例:

public class MapClass{
    private static Map<int, String> map = new HashMap<>();

    public String getValueForKey(int key){
        return map.get(key);
    }

    // other methods
}

public class DifferentClass{
     public void writeString(int number){
        System.out.println(MapClass.getValueForKey(number));
    }
}

第二種選擇示例:

public class MapClass{
    public static Map<int, String> map = new HashMap<>();
}

public class DifferentClass{
    public void writeString(int number){
        System.out.println(MapClass.get(number));
    }
}

我寧願使用第一種方法。 首先,如果可能的話,所有類的字段都應該是私有的。 其次,對象不僅應該是帶有getter和setter的容器,還應該提供其他方法來更改數據(例如,如第一個示例中的getValueForKey(int key) )。 很多有關OOP的書對此都有廣泛的描述。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM