Obyekt yönümlü proqramlaşdırmada nümunə metodları, sinif metodları və statik metodları necə ayırd etmək olar?
sobes.tech Süni İntellekt
AI-dan cavab
Obyekt yönümlü proqramlaşdırmada metodlar üç növə bölünür:
-
Nümunə metodları — müəyyən bir sinif obyekti ilə işləyir. Onlar
self(Swift-də) və yathis(digər dillərdə) vasitəsilə həmin obyektin xüsusiyyətlərinə və digər metodlarına çıxış əldə edir. Sinif nümunəsi üzərində çağırılır. -
Sinif metodları — özləri ilə əlaqəlidir, müəyyən obyektlə deyil. Swift-də
class funcaçar sözü ilə elan edilir. Bu metodlar sinifin (statik) xüsusiyyətlərinə çıxış edə bilər, amma konkret nümunənin xüsusiyyətlərinə yox. -
Statik metodlar — sinif metodlarına bənzəyir, amma alt siniflərdə yenidən yaza bilməz. Swift-də
static funcilə elan edilir. Sinif səviyyəsində işləyir, nümunəyə çıxış olmadan.
Swift-də nümunə:
class Example {
var value: Int = 0
func instanceMethod() {
print("Bu nümunə metodudur, value = \(value)")
}
class func classMethod() {
print("Bu sinif metodudur")
}
static func staticMethod() {
print("Bu statik metod")
}
}
let obj = Example()
obj.instanceMethod() // nümunə metod çağırışı
Example.classMethod() // sinif metod çağırışı
Example.staticMethod() // statik metod çağırışı
Beləliklə, əsas fərq — metodun işlədiyi səviyyədir: nümunə, sinif və ya statik (yenidən yaza bilməyən) metod.