5
Örnek eşleme olmayan bir sınıfın alt türünü saptamak mümkün mü?Örnek sınıflar olmadan desen eşleşmesi
Varolan Java sınıflarını kullanmam gerekiyor, bu yüzden kendi vaka sınıflarımı bildiremiyorum.
Örnek eşleme olmayan bir sınıfın alt türünü saptamak mümkün mü?Örnek sınıflar olmadan desen eşleşmesi
Varolan Java sınıflarını kullanmam gerekiyor, bu yüzden kendi vaka sınıflarımı bildiremiyorum.
Evet! Farklı türlerde farklı durumlara sahipseniz, farklı alt türler için farklı vakalarınız varsa, şu davranışlara sahip olabilirsiniz:
trait A
class B extends A
class C extends A
def f(a: A) = a match {
case b: B => "a B!"
case c: C => "a C!"
}
f(new B) // a B!
f(new C) // a C!
Bu harika görünüyor, teşekkürler! Size teşekkür ederim "türü eşleme" veya typecase denir bulundu - daha fazla bilgi var burada (http://lampwww.epfl.ch/~emir/bqbase/2006/10/11/typecase.html) – goncalopp
Ayrıca, "A", "Nesne" (veya "Herhangi") olabileceğini bilmeye değer – goncalopp