Written by
Oğuzhan İNAN
on
on
Scala (Nesneler) Objects
Object Tanımlama
object Nesne {
def main(args: Array[String]){
println("Object")
}
}
Yukarıda nesne isminde bir object tanımladık. Objectler extends edilemezler. Object içindeki değişkenlere ve fonksiyonlara direk ulaşılır. Yukarıdaki kodun JVM tarafından derlendiği haline bakalım.
public final class Nesne {
public static void main(java.lang.String[]);
}
Java’da final olarak tanımlanan classlar da extend edilemez.
Örnek:
object Adres {
var sokak: String = ""
var mah: String = ""
def yazdir(): Unit = println(s"Sokak: $sokak Mahalle: $mah")
}
object Ornek {
//Uygulamanın giriş noktası javada ki main metodu ile aynı
def main(args: Array[String]): Unit = {
Adres.sokak = "Kurtuluş"
Adres.mah = "Atatürk"
Adres.yazdir // Sokak: Kurtuluş Mahalle: Atatürk
}
}
Örnek 2
class Islemler {
def Ortalama(sayilar: Int*): Double = {
var ort: Double = 0
for(x <- sayilar)
ort += x.toDouble / sayilar.length
ort
}
}
object app extends Islemler {
def main(args: Array[String]): Unit = {
val ort: Double = Ortalama(2,6,4,3,7,4,4,35,34,4,65,5,34,6)
println(f"Ortalama: $ort%.2f ") // Ortalama: 15.21
}
}