Scala Class, Object and Method

Merhaba, bugün class, object ve method konularına kısmen değineceğim.

Object

object state ve behavior’lara sahiptir. Car objesi için state; color, name, power vs. behavior; run, stop vs. olabilir.

Scala object iki farklı anlam içerir. Bunlardan ilki Java’daki ile aynıdır. Bir sınıfın instance’ıdır. Diğeri ise object keyword’ü ile oluşturulan bir yapıdır. Ve bu yapı main methodunu içerebilir. Uygulamanın iki türlü giriş noktasını ayarlayabiliriz. Bunlardan biri;

^ Şeklinde Sample objesi içerisine main methodu ekleyerek yapabiliriz. Diğer yol ise ;

^ Şeklinde scala.App ‘dan extends ederek.

Scala object’i bir sınıfın singleton instance’ı diye de düşünebiliriz. new Sample gibi bir syntax doğru değildir. Object’lerin amacı Java’daki tabiriyle static görevi görmektedir class için.

 Class

Objeler için state/behaviors template oluşturmaya yarar.

Class constructor Java’dakinden biraz farklı. Sınıf isminden sonra constructor tanımını yapabiliriz. Constructor içerisindeki parametreler tüm sınıf içerisinde kullanılabilinir. Constructoru şu şekilde de tanımlayabiliriz;

* Burada access modifiers olarak default public yerine private verebiliriz. Argümanlardan name ve color’a sınıf gövdesi içerisinde yeniden değer atanabilirken power’a ise yeniden değer atanamaz.(val vs var)

* Sınıf içerisine method ekliyelim;

* Daha sonra methodlar konusuna yeniden detaylı olarak değineceğiz. Şimdilik method tanımının şu şekilde olduğunu bilelim.

def functionName([list of parameter]) : {return type]

Şimdi sınıftan obje oluşturalım;

 The Dot and Parentheses Are Optional

Java içerisinde object.method(); ile ilgili objenin methodunu çağırabiliyoruz. Scala’da ise biraz farklı

object.methodName() , object.methodName ve object methodName şeklinde ilgili methodu çağırabiliriz.

Şu kural geçerlidir; Method 0 yada 1 parametre alıyorsa dot(.) ve parantez () kullanımı opsiyoneldir. Eğer method birden fazla parametre alıyorsa parantez kullanımı zorunldur ama dot(.) kullanmak yine opsiyoneldir. Aşağıdaki üç methodda aynı sonucu vericektir.

* Örnek olarak a+b aslında a.+(b)’dir. Yada 1 to 3 aslında 1.to(3)’tür.

* Sınıfımız içerisine şu methodu ekliyelim;

* Methodu şu üç şekilde çağırabiliriz;

 

Yazımı burada bitiyorum, bir sonraki yazıda görüşmek dileğiyle. ~ Alican Akkus

Mutlu kalın , Kod’la kalın ve bol bol Çay için

 

1219 Total Views 1 Views Today