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

  • We've moved!

    We've moved!

    7 Ocak 2008
  • Mega64

    Mega64

    24 ŞUBAT 2006
  • Qmusic Romania

    Qmusic Roman

    8 Temmuz 2011