Def, val ve scala artış var
class Person(val name:String,var age:Int )
def person = new Person("Kumar",12)
person.age = 20
println(person.age)
Kod çıktıları bu çizgiler person.age=20
başarıyla yürütüldü olsa 8**,. Bu def person = new Person("Kumar",12)
def kullandım, çünkü olur ki buldum. Eğer var ya da val kullanırsam çıktı 20
. Varsayılan val scala olduğunu anlıyorum. Bu:
def age = 30
age = 45
...varsayılan bir val çünkü derleme bir hata veriyor. Neden düzgün ve henüz iş değil yukarıdaki satırlar ilk seti de hata yok?
CEVAP
Scala tanımlayan şey üç yolu vardır:
def
tanımlaryöntemval
sabit tanımlardeğerdeğiştirilemez olan)var
tanımlardeğişkendeğiştirilmiş olabilir)
Kodunuzu bakarak:
def person = new Person("Kumar",12)
Bu yeni bir yöntem person
adlı tanımlar. Parametresiz bir yöntem olarak tanımlandığı için sadece ()
olmadan bu yöntemi çağırabilirsiniz. Boş paren yöntemi ile veya olmadan diyebilirsin ()''. Eğer sadece yazma:
person
bu yöntem (ve eğer dönüş değeri atamak yok eğer değil, sadece atılacak) diyorsun. Kod: bu hat
person.age = 20
ne olduğunu ilk person
yöntemini çağırın, ve dönüş değeri (sınıf örneği Person
) age
üye değişkeni değişiyor.
Ve son satır:
println(person.age)
Burada yine sınıf Person
(age
12 set) yeni bir örneğini döndürür person
yöntemi, aradığınız. Bu gibi:
println(person().age)
Def, val ve scala artış var...
Java Scala eşdeğer.lang.Sınıf<T>...
Scala avantajları's type system...
Bir "bağlam bağlı" Scala?...
Scala - HATA alt çizgi: genişletilmiş ...