Sobes.tech
Junior — Middle

Nesne yönelimli programlamada örnek yöntemi, sınıf yöntemi ve statik yöntemleri nasıl ayırt edersiniz?

sobes.tech yapay zeka

AI'dan gelen yanıt

Nesne yönelimli programlamada, metodlar üç türe ayrılır:

  • Örnek metodlar — belirli bir sınıf nesnesiyle çalışır. Bu nesnenin özelliklerine ve diğer metodlarına self (Swift'te) veya this (diğer dillerde) aracılığıyla erişirler. Sınıf örneği üzerinde çağrılırlar.

  • Sınıf metodları — kendisiyle değil, sınıfla ilgilidir. Swift'te class func anahtar kelimesiyle tanımlanır. Bu metodlar, sınıfın (statik) özelliklerine erişebilir, ancak belirli bir örneğin özelliklerine erişemezler.

  • Statik metodlar — sınıf metodlarına benzer, ancak alt sınıflarda yeniden tanımlanamazlar. Swift'te static func ile tanımlanır. Sınıf seviyesinde çalışırlar, örneğe erişimleri yoktur.

Swift'te örnek:

class Example {
    var value: Int = 0

    func instanceMethod() {
        print("Bu bir örnek metod, value = \(value)")
    }

    class func classMethod() {
        print("Bu bir sınıf metodudur")
    }

    static func staticMethod() {
        print("Bu bir statik metod")
    }
}

let obj = Example()
obj.instanceMethod()      // örnek metod çağrısı
Example.classMethod()     // sınıf metod çağrısı
Example.staticMethod()    // statik metod çağrısı

Dolayısıyla, temel fark — metodun çalıştığı seviye: örnek, sınıf veya statik (değiştirilemez) metod.