Referans eşitliğinin hiçbir zaman equals
'un doğru şekilde uygulanması olmadığını bildiğim bir özellik var. Özelliğin uygulamaları pek çok kullanıcı tarafından yazılabilir ve pratikte bazen equals
'u geçersiz kılmayabilir. Bunu gerektirecek bir yolu var mı? Uygulama uygulamalardaBir özelliğin tüm uygulamalarının geçersiz kılınması için zorlanması
geçersiz kılan equals
otomatik olarak genellikle durumda sınıfları vardır, ve özellik kendi kendini türü olarak Product
sahip olarak bu gerektiren yaklaşım olabilir, ancak, sigara sağlayan bir çözüm görmek istiyorum equals
'u da geçersiz kılan sınıf sınıfları (DÜZENLEME: Kendi türü olarak scala.Equals
'u kullanmak istediğim şeye daha yakın bir yaklaşımdır, çünkü hala vaka sınıfları tarafından otomatik olarak uygulanır, ancak vakalar tarafından yararlı bir şekilde uygulanabilir. uygulamalar yazan insanlar üzerindeki büyük yük.
Bu soruyu yazarken aklıma gelen bir diğer yaklaşım da, soyut bir yöntem çağrısında bulunmak için equals
numarasını geçersiz kılmaktır, ancak maalesef bu durum vaka sınıfı uygulamaları için işe yaramamaktadır.
Peki - özellik Foo { kılma def eşittir (obj: scala. Any): Boole = ??? } – Maxim
Örnek sınıf uygulamaları için _doesn't hakkında daha fazla bilgi verir misiniz? [Bu çalışma sayfası] (https://gist.github.com/Odomontois/865d91180cc2e30435bf) benim için iyi çalıştı – Odomontois
@Maxim Sorun, "eşittir" bir vaka sınıfının bir atağında yeniden tanımlandığında, uygulamanın oluşturulmadığıdır. –