SORU
21 Temmuz 2010, ÇARŞAMBA


Scala, nasıl birden fazla kurucular ile bir Java sınıfı olabilir miyim?

Birden çok varsayılan: bir Java sınıfı yoktur sanırım

class Base {
    Base(int arg1) {...};
    Base(String arg2) {...};
    Base(double arg3) {...};
}

Nasıl Scala genişletmek ve hala Baz kurucular üç erişim sağlar? Scala, bir alt sadece üst sınıf biri kurucular arayabilirsiniz. Bu nasıl kural dışı bırakabilirsin?

Java sınıf değiştiremem eski kod olduğunu varsayalım.

CEVAP
21 Temmuz 2010, ÇARŞAMBA


Kolay bir özellik bir sınıf uzatabilir unutturacak. Eğer bir özellik kullanırsanız, bu şekilde aradığım için hangi kararı erteleme

trait Extended extends Base {
  ...
}

object Extended {
  def apply(arg1: Int) = new Base(arg1) with Extended
  def apply(arg2: String) = new Base(arg2) with Extended
  def apply(arg3: Double) = new Base(arg3) with Extended
}

Özellikleri ve yapıcı parametreleri kendileri olmayabilir, ancak bunun yerine soyut üyeleri kullanarak çalışabilirsiniz.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Dave Wallace

    Dave Wallace

    27 Kasım 2007
  • OnlyFunClips

    OnlyFunClips

    16 ŞUBAT 2012
  • RFS Dan

    RFS Dan

    22 Temmuz 2014