სტატიკური წინააღმდეგ არასტატიკური მეთოდი
მეთოდი არის განცხადებების სერია, რომელიც ხორციელდება კონკრეტული დავალების შესასრულებლად. მეთოდებს შეუძლიათ მიიღონ შეყვანები და წარმოქმნან შედეგები. სტატიკური და არასტატიკური მეთოდები არის ორი ტიპის მეთოდი, რომელიც წარმოდგენილია ობიექტზე ორიენტირებულ პროგრამირების ენებში. სტატიკური მეთოდი არის მეთოდი, რომელიც ასოცირდება კლასთან. მეთოდს, რომელიც ასოცირდება ობიექტთან, ეწოდება არასტატიკური (მაგალითად) მეთოდი. ობიექტზე ორიენტირებულ ენებში მეთოდები გამოიყენება ობიექტებში შენახულ მონაცემებზე მუშაობის მექანიზმად.
რა არის სტატიკური მეთოდი?
ობიექტზე ორიენტირებულ პროგრამირებაში სტატიკური მეთოდი არის მეთოდი, რომელიც ასოცირდება კლასთან.მაშასადამე, სტატიკურ მეთოდებს არ აქვთ კლასის კონკრეტულ მაგალითზე მოქმედების შესაძლებლობა. სტატიკური მეთოდების გამოძახება შესაძლებელია კლასის ობიექტის გამოყენების გარეშე, რომელიც შეიცავს სტატიკურ მეთოდს. ქვემოთ მოცემულია ჯავაში სტატიკური მეთოდის განსაზღვრის მაგალითი. სტატიკური უნდა იყოს გამოყენებული Java-ში სტატიკური მეთოდის განსაზღვრისას.
public class MyClass { public static void MyStaticMethod() { // სტატიკური მეთოდის კოდი }
}
ზემოთ განსაზღვრული სტატიკური მეთოდი შეიძლება გამოიძახოს შემდეგნაირად იმ კლასის სახელის გამოყენებით, რომელსაც ეკუთვნის.
MyClass. MyStaticMethod();
ერთი მნიშვნელოვანი რამ, რაც გასათვალისწინებელია არის ის, რომ სტატიკურ მეთოდებს შეუძლიათ მხოლოდ სტატიკურ წევრებზე წვდომა.
რა არის არასტატიკური მეთოდი?
არასტატიკური მეთოდი ან ინსტანციის მეთოდი არის მეთოდი, რომელიც ასოცირდება კლასის ობიექტთან. ამიტომ, არასტატიკური მეთოდების გამოძახება ხდება იმ კლასის ობიექტის გამოყენებით, რომელშიც განსაზღვრულია მეთოდი.არასტატიკურ მეთოდს შეუძლია წვდომა არასტატიკური წევრების, ასევე კლასის სტატიკური წევრების შესახებ. ბევრ ობიექტზე ორიენტირებულ ენაში (როგორიცაა C++, C, Java), როდესაც გამოიძახება არასტატიკური მეთოდი, ობიექტი, რომელიც გამოიძახებს მეთოდს, გადაეცემა როგორც იმპლიციტური არგუმენტი (მას უწოდებენ "ამ" მითითებას). ასე რომ, მეთოდის შიგნით, ეს საკვანძო სიტყვა შეიძლება გამოყენებულ იქნას იმ ობიექტთან მიმართებაში, რომელსაც ეწოდება მეთოდი. ქვემოთ მოცემულია ჯავაში ინსტანციის მეთოდის განსაზღვრის მაგალითი.
public class MyClass { public void MyInstanceMethod() { // ინსტანციის მეთოდის კოდი }
}
ზემოთ განსაზღვრული ინსტანციის მეთოდი შეიძლება გამოიძახოს შემდეგნაირად იმ კლასის ობიექტის გამოყენებით, რომელსაც ეკუთვნის.
MyClass objMyClass=ახალი MyClass();
objMyClass. MyInstanceMethod ();
რა განსხვავებაა სტატიკურ და არასტატიკური მეთოდებს შორის?
სტატიკური მეთოდები არის მეთოდები, რომლებიც დაკავშირებულია კლასთან, ხოლო არასტატიკური მეთოდები არის მეთოდები, რომლებიც ასოცირდება კლასის ობიექტებთან.არასტატიკური მეთოდის გამოსაძახებლად კლასს ჯერ ინსტანციაცია სჭირდება, მაგრამ სტატიკურ მეთოდებს ეს მოთხოვნა არ გააჩნია. მათი უბრალოდ გამოძახება შესაძლებელია კლასის სახელის გამოყენებით, რომელიც შეიცავს სტატიკური მეთოდს. კიდევ ერთი მნიშვნელოვანი განსხვავება ისაა, რომ არასტატიკური მეთოდი ჩვეულებრივ ფლობს მითითებას იმ ობიექტზე, რომელმაც გამოიძახა მეთოდი და მასზე წვდომა შესაძლებელია ამ საკვანძო სიტყვის გამოყენებით მეთოდის შიგნით. მაგრამ ეს საკვანძო სიტყვა არ შეიძლება გამოყენებულ იქნას სტატიკურ მეთოდებში, რადგან ისინი არ არის დაკავშირებული კონკრეტულ ობიექტთან.