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

  • Dogbert files

    Dogbert file

    12 Ocak 2012
  • Make:

    Make:

    23 Mart 2006
  • Photoshop Tutorials

    Photoshop Tu

    22 HAZİRAN 2011