Obyektga yo'naltirilgan dasturlashda instans usullari, sinf usullari va statik usullarni qanday ajratish mumkin?
sobes.tech AI
AIdan javob
Obyektga yo'naltirilgan dasturlashda, metodlar uch turga bo'linadi:
-
Nümunaviy metodlar — aniq bir sinf ob'ekti bilan ishlaydi. Ular
self(Swiftda) yokithis(boshqa tillarda) orqali ushbu ob'ektning xususiyatlari va boshqa metodlariga kirishadi. Sinfning nümunasida chaqiriladi. -
Sinf metodlari — o'zlari bilan bog'liq, aniq ob'ekti emas, sinf bilan bog'liq. Swiftda
class funckalit so'zi bilan e'lon qilinadi. Bu metodlar sinfning (statik) xususiyatlariga kirishlari mumkin, ammo aniq ob'ekt xususiyatlariga emas. -
Statik metodlar — sinf metodlariga o'xshash, ammo voris sinflarda qayta yozib bo'lmaydi. Swiftda
static funcbilan e'lon qilinadi. Ular sinf darajasida ishlaydi, ob'ektga kirishsiz.
Swiftda misol:
class Example {
var value: Int = 0
func instanceMethod() {
print("Bu nümunaviy metod, value = \(value)")
}
class func classMethod() {
print("Bu sinf metod")
}
static func staticMethod() {
print("Bu statik metod")
}
}
let obj = Example()
obj.instanceMethod() // nümunaviy metod chaqiruvi
Example.classMethod() // sinf metod chaqiruvi
Example.staticMethod() // statik metod chaqiruvi
Shu bilan, asosiy farq — metodning ishlash darajasi: nümuna, sinf yoki statik (qayta yozib bo'lmaydigan) metod.