Ինչպե՞ս տարբերել օբյեկտ-կենտրոնացված ծրագրավորման մեջ օրինակային մեթոդները, դասի մեթոդները և סטատիկ մեթոդները։
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() // ստատիկ մեթոդի կանչ
Հիմնական տարբերությունը — այն մակարդակն է, որտեղ աշխատում է մեթոդը՝ նմուշ, դաս կամ ստատիկ (չի կարող վերագրել) մեթոդ։