我已閱讀過靜態與實例方法,但我沒有看到任何回答這個特定問題(綠色,因爲它可能)。靜態與實例方法需要值時的最佳實踐
如果您有一個具有某些屬性的類,並且該類中需要使用這些屬性的方法,那麼使用靜態方法還是實例方法更好?
I.E.
class Foo
{
//properties
bar1;
bar2;
//method
sumbar1andbar2()
{
return bar1 + bar2;
}
}
sumbar1andbar2方法需要存在Foo類的屬性。這似乎有點愚蠢,使靜態方法和這樣調用它,因爲我手動傳遞的類的成員到類的方法:
Foo foo1 = new Foo();
foo1.bar1 = x;
foo1.bar2 = y;
sumbar1andbar2(foo1.bar1, foo1.bar2);
不過,雖然下面的實例方法看起來乾淨多了,我「M不知道乾淨和簡單的方法,以確保兩個BAR1和BAR2不爲空,這將導致一個例外:
Foo foo1 = new Foo();
foo1.bar1 = x;
foo1.bar2 = y;
sumbar1andbar2();
但是,實例方法似乎更好,如果方法修改的另一個屬性類,像bar3。
實際編譯的郵政編碼,所以我們可以有一個可能的答案拍攝。 – 2012-01-11 23:44:51