Kotlin’de Sınıf Yapısı ve Erişim Belirleyiciler

Recep Güzel
3 min readAug 7, 2023

--

Herkese merhabalar 👋 Bugün başlıktan anlaşılacağı üzerine Kotlin de Sınıf Yapısı ve Erişim Belirleyiciler konularını anlatmaya çalışacağım . Hazırsanız başlayalım .

Öncelikle sınıf ne demek gelin birlikte bakalım .

◾Class : Nesne yönelimli programlama dillerinde nesnelerin özelliklerini, davranışlarını ve başlangıç durumlarını tanımlamak için kullanılan şablonlara verilen addır.

Örneğin araba bir sınıf olursa yakıt çeşidi , motor gücü ,vites tipi birer özelliğidir.

Kotlin de Sınıf tanımlamak için class anahtar kelimesi kullanılır.

class Car {

}

Yukarda görüldüğü üzere Car adında bir sınıf oluşturduk .

Kotlin programlama dilinde constructor (kurucu) yapısı, sınıfın örneklerini (nesnelerini) oluştururken kullanılan özel bir işlevsel yapıdır. Constructor, sınıfın özelliklerini başlatmak ve nesnenin oluşturulması sırasında gereken diğer işlemleri yapmak için kullanılır. Kotlin’de iki tane türde constructor tanımlanabilir.Kotlin’de contructorlar sınıf ismin yanına yazılır fakat Java’da Sınıf içine yazılırlar.

Birincil Yapıcı ( Primary constructor)

İkincil Yapıcı ( Second constructor )

1-Primary Constructor (Birincil Constructor):

Kotlin’de sınıfın başlıca constructor’ı birincil constructor olarak adlandırılır. Birincil constructor, sınıf tanımının başında yer alır ve sınıfın temel özelliklerini başlatmak için kullanılır.

class Car constructor (carName :String){
//
}

Görüldüğü bir constructor tanımladık .Gelin bu constructor ı çağıralım .

class Car constructor (carName :String{
}

fun main(){
val carExample = Car("Mercedes")
println(carExample)
}

2 -Secondary Constructors (İkincil Constructorlar):

Bir sınıfa birden fazla constructor eklemek mümkündür. Bunlara ikincil constructorlar denir. İkincil constructorlar, birden fazla parametreye izin vermek veya ekstra işlemleri gerçekleştirmek amacıyla kullanılır.

class Car(val carName: String, val carModel: String, val carAge: Int) {
// Birincil constructor

constructor(carName: String, carModel: String) : this(carName, carModel, 0) {
// İkincil constructor
}
}

Yukarıdaki örnekte Araba sınıfına bir ikincil constructor eklenmiştir. İkincil constructor, this() anahtar kelimesi ile birincil constructor'ı çağırmaktadır.

Kotlinde Erişim Belirleyiciler

Kotlin’de erişim belirleyiciler (access modifiers), sınıf üyelerinin (property ve methodlar gibi) erişim seviyelerini kontrol etmek için kullanılan anahtar kelimelerdir. Bu belirleyiciler, nesne yönelimli programlamada (OOP) encapsulation prensibini uygulamak ve sınıfın iç detaylarını korumak için önemlidir. Kotlin’de dört temel erişim belirleyici bulunmaktadır:

▪️ public

▪️ private

▪️ protected

▪️ internal

Not: Eğer herhangi bir erişim belirleyici tanımlamazsak default olarak public olacaktır.

▪️ public

  • Varsayılan erişim belirleyicisidir. Eğer herhangi bir belirleyici belirtilmezse, sınıf üyeleri otomatik olarak public olarak kabul edilir.
  • Her yerden erişilebilir.
class Car {
val model: String = "Clio"
}

▪️ private

  • Sadece tanımlandığı sınıf içerisinden erişilebilir.
  • Diğer sınıflardan erişim engellenir.
class Car{
private val model: String = "Corolla"

private fun example() {
println("Bu metod sadece Araba sınıfı içerisinden çağrılabilir.")
}
}

▪️ protected

Sadece tanımlandığı sınıf içerisinden veya bu sınıftan türetilen alt sınıflardan erişilebilir.

open class Parent{
protected val familyName: String = "Smith"
}

class Children: Parent() {
fun getFamiliyName() {
println("Aile Adı: $familyName")
// Erişim mümkün çünkü alt sınıftan erişiliyor.
}
}

▪️ internal

  • Aynı modül içerisindeki herhangi bir sınıftan erişilebilir.
  • Modül, bir Kotlin projesinin derlenmiş birimini ifade eder.
internal class A {
}
public class B {
internal val int = 10
internal fun display() {
}
}

Burada, Class A’ya yalnızca aynı modülün içinden erişilebilir. int değişkenine ve display() işlevine yalnızca aynı modülün içinden erişilebilir, ancak B sınıfına herhangi bir yerden erişilebilir.

Bu erişim belirleyicileri, sınıfın özelliklerini ve davranışlarını nasıl kontrol etmek istediğinizi belirlemek için kullanılır. Doğru erişim belirleyicilerini kullanmak, kodunuzu daha güvenli, düzenli ve sürdürülebilir hale getirmeye yardımcı olur.

Buraya kadar okuduysanız alkışlarınızı 👏bekliyorum .Her hafta yeni bir yazıyla karşınızdayım .Yazılardan haberdar olmak için beni takip etmeyi unutmayın .

Arkadaşlar umarım açıklayıcı olmuştur. Kendim de yeni öğreniyorum ve öğrendiğim konuları burada yazıyorum . Kalın sağlıcakla 👋👋

Diğer Platformlardan Takip etmek isterseniz;

Linkedln https://www.linkedin.com/in/recepguzel34/

Github https://github.com/recepbrk

Twitter https://twitter.com/RcpbrkGuzel

--

--