C Sharp'a yapılan son güncellemelerden sonra böyle bir özellik geldi mi bilmiyorum, JAVA da olmadığını biliyorum, php'de olmadığını biliyorum, python'da da olmadığını bilmeme rağmen kararsızım çünkü python kolaylık açısından beni hep şaşırtıştır yani python'da çekimser davranıyorum. Peki tam olarak ne bu? Allah aşkına aşağıdaki resime dikkatli bakın. Bu bir gerçek.

Sol taraftaki JAVA kodu ile sağ taraftaki kotlin kodu tamamen aynı işlemi yapmaktadır. O halde bunun hakkında konuşmalıyız.
Class Nasıl Oluşturulur?
Sadece class
anahtar kelimesine ihtiyacınız var. Onun haricinde hemen hemen bütün dillerdeki gibi. Aağıdaki yapıyla bir class oluşturabilirsiniz.
class Person{
}
Şimdi Primary Constructor kavramına gelelim. C Sharp ve Java'da set get tanımlayarak bir takım işlemler gerçekleştiririz. Constructor içinde property'lere parametreleri eşitleriz vb. Standart olan bir sürü işlem yaparız. Kotlin'de bunları unutun. Yukarıdaki görselde aslında anlatılanda budur. Kotlin arkaplanda bu işlemleri sizler için yapar. Bu hem iyi bir okur yazarlık hem de pratiklik sağlar. Şimdi bir örnek yapalım.
class Person(
val isim: String,
var meslekKodu : Int = 0,
){
}
Class'ımızı yukarıdaki gibi tanımlayalım. Benim gibi java'dan ve csharptan geldiyseniz buralara kafanızı karıştıran şeyler olabilir, açıklayacağım. Daha sonrasında da örnekleme işlemine bakalım.
fun main(args: Array<String>) {
val kuday = Person("Kuday", 1)
println(kuday.isim)
}
Çıktı:
Kuday
Şimdi sırasıyla başlayalım. Kotlin'de new
anahtar kelimesini kullanmıyoruz. Primary Constructor dediğimiz yapı sayesinde direkt olarak class adından sonra parantezler içerisine propertyler ve constructor parametrelerini tanımlayabilir ve daha sonrasında bu propertylere ulaşabiliriz. Peki aşırı yüklenme nasıl yaparız?
class Person(
val isim: String,
var meslekKodu : Int = 0,
){
var cinsiyet : Boolean? = null
constructor(
isim: String,
meslekKodu: Int = 0,
cinsiyet : Boolean,
) : this(isim,meslekKodu){
this.cinsiyet = cinsiyet
}
}
Yukarıda görüldüğü üzere constructor anahtar kelimesi ile dilediğimiz kadar yapıcı metot oluştrabiliriz.
İkinci constructor altında dilersek çeşitli kodlar yazabiliriz. Örnek olarak ekrana bir örnek oluşturuldu yazabilirdik. Bu gibi yeteneklerin aynısına primary constructor'da da sahip olmamız gerekir. İşte burada yardımımıza koşan init
isimli bir anahtar kelime mevcuttur.
Kodumuz aşağıdaki gibi olabilir.
class Person(
val isim: String,
var meslekKodu : Int = 0,
){
init {
println("${this.isim} isminde biri oluşturuldu.")
}
var cinsiyet : Boolean? = null
constructor(
isim: String,
meslekKodu: Int = 0,
cinsiyet : Boolean,
) : this(isim,meslekKodu){
this.cinsiyet = cinsiyet
}
}
fun main(args: Array<String>) {
val kuday = Person("Kuday", 1)
val beren = Person("Beren", 1, true)
}
Kuday isminde biri oluşturuldu.
Beren isminde biri oluşturuldu.
Harika! Erişim belirleyiciler çok genel ve bilindik bir konu olduğu için onlara değinmeyeceğim. Ancak kotlin gücünü gördüğünüze inanıyorum.
İlk Yorumu Siz Yapın