Junior — Middle
პროგრამირებაში სტატიკური ცვლადის რა განსხვავებაა და რა თვისებები აქვს?
sobes.tech AI
პასუხი AI-სგან
სტატიკური ცვლადი არის ცვლადი, რომელიც ეკუთვნის კლასს, არა კონკრეტულ ობიექტის ნიმუშს. იგი არსებობს ერთჯერადად მთელი კლასისთვის და ინახავს თავის მნიშვნელობას მეთოდების გამოძახების შორის.
სტატიკური ცვლადების მახასიათებლები:
- გააზიარებულია ყველა კლასის ნიმუშს შორის: ყველა ობიექტი კლასის ერთსა და იმავე სტატიკურ ცვლადს იყენებს.
- მარტო ერთხელ ინიცირებულია კლასის ჩატვირთვისას.
- ხელმისაწვდომია კლასის ნიმუშის შექმნის გარეშე (კლასის სახელის მეშვეობით).
- გამოყენებულია მდგომარეობის ან საერთო მონაცემების შენახვისთვის, რომლებიც ყველა ობიექტისთვის ერთნაირია.
მაგალითი Java-ში:
public class Counter {
public static int count = 0;
public Counter() {
count++;
}
}
// გამოყენება:
Counter c1 = new Counter();
Counter c2 = new Counter();
System.out.println(Counter.count); // გამოიტანს 2
ტესტებში, სტატიკური ცვლადები შეიძლება შექმნან სირთულეები, რადგან მათი მდგომარეობა ინახება ტესტებს შორის, რაც შეიძლება გამოიწვიოს არასასურველი გვერდითი ეფექტები. ამიტომ მნიშვნელოვანია, რომ სტატიკური მონაცემები გაწმინდოთ ან იზოლიროთ ტესტებში.