Объектке багытталган программалоодо мисал ыкмаларын, класс ыкмаларын жана статикалык ыкмаларды кантип айырмалоо керек?
sobes.tech AI
AIден жооп
Объектке багытталган программалоодо, ыкмалар үч түргө бөлүнөт:
-
Нускамалык ыкмалар — конкреттүү класс объектисине иштейт. Алар
self(Swiftте) жеthis(башка тилдерде) аркылуу ошол объекттин мүнөздөмөлөрүнө жана башка ыкмаларга кирүүгө мүмкүнчүлүк берет. Алар класс нускамасында чакырылат. -
Класс ыкмалары — өзү менен байланыштуу, конкреттүү объект менен эмес. Swiftте алар
class funcачкыч сөзү менен жарыяланат. Бул ыкмалар класс (статикалык) мүнөздөмөлөргө кире алат, бирок конкреттүү нускаманын мүнөздөмөлөрүнө эмес. -
Статикалык ыкмалар — класс ыкмаларына окшош, бирок подклассларда кайра жазылбайт. Swiftте алар
static funcменен жарыяланат. Алар класс деңгээлинде иштейт, нускамасыз.
Swiftте мисал:
class Example {
var value: Int = 0
func instanceMethod() {
print("Бул нускамалык ыкма, value = \(value)")
}
class func classMethod() {
print("Бул класс ыкмасы")
}
static func staticMethod() {
print("Бул статикалык ыкма")
}
}
let obj = Example()
obj.instanceMethod() // нускамалык ыкманы чакыруу
Example.classMethod() // класс ыкмасын чакыруу
Example.staticMethod() // статикалык ыкманы чакыруу
Негизги айырма — ыкма иштеген деңгээл: нускам, класс же статикалык (кайра жазылбаган) ыкма.