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
  }
}