SORU
18 Kasım 2009, ÇARŞAMBA


Scala nesne ve sınıf arasındaki fark

Sadece internette bazı Scala öğreticiler üzerinden gidiyorum ve bir nesne örneği başlangıcında bildirilen bazı örneklerde fark var.

Scala class object arasındaki fark nedir?

CEVAP
18 Kasım 2009, ÇARŞAMBA


Kısaca

Örtülü olarak tanımlanan bir sınıf singleton bir nesne yaratmak object anahtar düşünebilirsiniz.

Çok Kısa Bir Süre Değil

Bu örneği ele alalım

object A extends B with C {
  def f(x: Any): Any = ???
}

Scala görünümünden, bu beyanı

  • B C, hem genişleten ve . (ulaşılmaz) anonim bir sınıf bildirir
  • oluşturur bu sınıf A adında tek bir örneği.

Bu A fonksiyonlar nesne türü B C f çağrılabilir yöntemi A.f(...) kullanma bekliyor geçebilir anlamına gelir.

object ek Özellikler

Nesneleri için tanımlanan bazı özel yöntemleri var

  • def apply(...) Her zamanki yöntemi adı-az A(...) sözdizimi sağlar
  • def unapply(...) özel desen extractors eşleştirme oluşturmak için izin verir
  • eğer aynı ada sahip bir sınıf eşlik eden, nesne implicit parameters çözerken özel bir rol üstlenmektedir

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Electro Posé

    Electro Pos

    21 ŞUBAT 2013
  • We've moved!

    We've moved!

    7 Ocak 2008
  • ShoSho

    ShoSho

    20 Ocak 2010