10
我有一個特徵,我知道引用相等性永遠不會是equals
的正確實現。特質的實現可以由許多用戶編寫,並且練習顯示有時它們無法覆蓋equals
。有沒有辦法來要求它?強制性狀的所有實現都覆蓋等於
在實踐中的實現通常是區分類,它們重寫equals
自動的,我們可以接近由具有Product
作爲自型性狀的要求該,但是,我想看到的溶液,其允許非(編輯:使用scala.Equals
作爲自我類型更接近我想要的東西,因爲它仍然由case類自動實現,但可以非常有用地通過非case類實現,而不是編寫實現的人員負擔很重)。
我在寫這個問題時想到的另一種方法是在特徵中重寫equals
以調用抽象方法,但不幸的是,這對於案例類實現不起作用。
什麼 - 特質富{ 覆蓋高清等於(OBJ:階。任何):布爾= ??? } – Maxim
您能否介紹更多關於_doesn't工作的案例類實現_? [這個工作表](https://gist.github.com/Odomontois/865d91180cc2e30435bf)對我很好用 – Odomontois
@Maxim問題是當'equals'在case類的祖先中重新定義時,不會生成實現。 –