我有這Setting.class
它有幾個變量。我是否需要創建一百個getter和setter?
private int timeRemember, timeConcentration;
private boolean hearts, spades, diamonds, clubs;
我知道我應該爲他們創建getter和setter,但它需要50行代碼。 如果我有更多的變量,比方說40,它會是200左右。
我的問題是 - 每個人都這樣做?或者有什麼我不知道的?
我有這Setting.class
它有幾個變量。我是否需要創建一百個getter和setter?
private int timeRemember, timeConcentration;
private boolean hearts, spades, diamonds, clubs;
我知道我應該爲他們創建getter和setter,但它需要50行代碼。 如果我有更多的變量,比方說40,它會是200左右。
我的問題是 - 每個人都這樣做?或者有什麼我不知道的?
是否你需要你的類變量的getters和setters取決於你。這取決於你的代碼中其他地方如何使用這個類。如果你不確定,你可以隨時添加getters和setter,因爲你在開發過程中發現你需要它們。
但是,許多現代Java IDE允許您自動生成getter(setter)(例如Eclipse或IntelliJ)。在IntelliJ中,您可以使用代碼>生成...菜單執行此操作。
我喜歡我得到兩張倒票,但沒有評論。在我的答案中看不到任何與時代矛盾的東西,除了沒有提及課程設計。 – kunruh
我剛纔建議不要有字段,單個Map可以將類中的所有值用鍵定義爲最終變量。然後,我意識到,只是爲了打開這種可能性,我會被低估。總是有一個「聰明」的人,準備好指出「正確」的方式去做沒有任何理由的事情。 –
如果您有40個實例變量,您還有其他需要擔心的事情。你的課堂設計很可能有問題。
一般來說,超過10-11的字段被認爲太多了。
除此之外,你可能還想問問自己,如果這個類實際上需要getter和setter?它可以是不可變的嗎?
您可以利用諸如Enums(而不是每個套裝的bool),使用single responsibility(單獨的時間和卡片)構建課程,並問問自己是否真的需要在外部公開該變量你的班級。
看看項目lombok。它允許你在許多其他事情中「自動化」使用註釋創建setter/getter。
你在用什麼IDE ??。你可以爲你的領域生成所有的getter和setter。 –
這可能也有幫助https://projectlombok.org/ – Philippe
我知道我可以,我做到了。我只是好奇,如果這是人們的行爲。 – mafiozorek