2015-06-08 49 views
2

我已經在我的課兩種方法:如何給一個單個對象作爲輸入並且需要多個輸入的方法命名?

public String widgetToHtml(Widget widget){...} 

public String widgetsToHtml(List <Widget> widgets){ 
    for(Widget widget : widgets){ 
     widgetToHtml(widget); 
    } 
} 

應當如何進行這些方法來命名?

  • 他們可能被命名爲同樣的事情,超載
  • 它們可以略有不同一個是「小部件小號爲HTML」,另一個是名爲「小部件HTML」。
    • 它們也被命名爲singleWidgetToHtmlmultipleWidgetToHtml

後續問題:

  • 難道是不同的,如果處理一個插件的方法是私人的?

編輯Crossposted here

+0

我會重載它或使用可變參數(雖然可變參數可能會使生活非常棘手),但這只是個人意見。如果你想強制至少有一個參數被傳遞,請執行'public String widgetToHtml(Widget first,Widget ... rest)' – biziclop

+0

在普通的所有變體中都適用,重點在於遵循java方法的命名約定。恕我直言,我選擇重載。 –

+0

請勿[cross-post](http://meta.stackexchange.com/q/64068/255171) –

回答

1

如果我是你,我只想命名方法

public String toHTML(...) 

和過載的方法。在指定方法名稱中的參數類型時沒有附加值。

實用程序類是否支持這些方法?

+0

這是一個很棒的答案。正是我在找什麼。謝謝。 – sixtyfootersdude

1

的varrags允許該方法接受零個或muliple參數。在varargs之前,我們使用重載方法或將數組作爲方法參數,但它不被認爲是好的,因爲它會導致維護問題。如果我們不知道該方法需要傳遞多少個參數,則可變參數是更好的方法。

public String widgetToHtml(Widget... widget) 
{...} 
+0

但現在您的方法名稱是單數,但可能需要多個參數。 – bhspencer

相關問題