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

  • AceHoodVEVO

    AceHoodVEVO

    12 Mayıs 2009
  • AmazonWireless

    AmazonWirele

    8 EYLÜL 2010
  • THE RED DRAGON

    THE RED DRAG

    6 ŞUBAT 2009