2013-04-14 29 views
0

假設我有一個名爲myClass的類。我想要一個方法來比較myClass的實例,以查看myCLass的一個對象是否「大於」myClass的另一個對象。 這個方法應該放在myClass類中嗎? 直觀上,這似乎是錯誤的,因爲'比較'方法實際上不是應該由任一對象執行的操作。 (例如,當兩個數字進行比較,這些數字不比較自己。我們,人類,比較數字並確定比較的結果。)我應該在哪一類中進行比較?

+1

這是使一個新的類添加一個方法比較浪費。使用相同的類實際上是有意義的。例如,如果你想比較一個「錘子」與另一個「錘子」,你不會要求一個「蘋果」來比較它。你會拿起一個,並觀察另一個的差異。 – Justin

回答

2

你可以這樣做2種方式:

  1. 有一個正常的compareTo()方法比較對象的當前實例與另一個實例,例如

    obj1.compareTo(obj2)

  2. 有屬於myClass類,其比較2個對象實例,例如一個靜態方法

    myClass.compareObjects(obj1, obj2)

+0

不要忘記,如果你打算使用選項1,MyClass應該實現可比較的! –

相關問題