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) veyathis(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 funcanahtar 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 funcile 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.