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

  • Christian Atlas

    Christian At

    26 Mart 2009
  • MandMEvangelists

    MandMEvangel

    28 Ocak 2008
  • PamtheBlamofficial

    PamtheBlamof

    31 Aralık 2010