Junior
Ի՞նչ են ստատիկ փոփոխականները։
sobes.tech AI
Պատասխան AI-ից
Ստատիկ փոփոխականները պատկանում են դասին, ոչ թե կոնկրետ օրինակին։ Դրանք գոյություն ունեն միայն մեկ օրինակով ողջ ծրագրի ընթացքում և բաժանվում են բոլոր այդ դասի օբյեկտների միջև։ Ստատիկ փոփոխականի փոփոխությունը մեկ օբյեկտից կլինի տեսանելի մյուս բոլոր օբյեկտների համար։
Հիմնական հատկանիշներ՝
- Հատկություն: Դասին։
- Նմուշների քանակը: Միայն մեկ՝ դասի համար։
- Կյանքի ժամանակը: Դասի բեռնումից մինչև ծրագրի ավարտը։
- Մուտք: Հաճախ դասի անվան միջոցով՝
ClassName.staticVariable, սակայն հնարավոր է նաև մուտք գործել օրինակով (չի խորհուրդ տրվում)։ - Անցկացման ժամանակը: Միայն մեկ անգամ՝ դասի բեռնումին։
Օգտագործման օրինակներ՝
- Դասի ստեղծած օբյեկտների հաշվիչ։
- Ընդհանուր հաստատուններ՝ ամբողջ դասի համար։
- Ընդհանուր ռեսուրսներ՝ որոնք կառավարում է դասը։
Java օրինակ՝
class MyClass {
static int counter = 0; // Ստատիկ փոփոխական
public MyClass() {
counter++; // Ստատիկ հաշվիչը մեծացնում է օբյեկտի ստեղծումից հետո
}
public static void main(String[] args) {
MyClass obj1 = new MyClass();
MyClass obj2 = new MyClass();
System.out.println(MyClass.counter); // Արտածում՝ 2
}
}
Python օրինակ՝
class MyClass:
counter = 0 # Ստատիկ փոփոխական
def __init__(self):
MyClass.counter += 1 # Ստատիկ հաշվիչը մեծացնում է
def main():
obj1 = MyClass()
obj2 = MyClass()
print(MyClass.counter) # Արտածում՝ 2
if __name__ == "__main__":
main()