ძირითადი განსხვავება – კლასი და ინსტანციის ცვლადები
პროგრამირების თანამედროვე ენების უმეტესობა მხარს უჭერს ობიექტზე ორიენტირებულ პროგრამირებას. ობიექტი შეიცავს მონაცემებს ან ატრიბუტებს. ობიექტს აქვს გარკვეული ქცევა. ისინი ცნობილია როგორც მეთოდები. პროგრამა შეიძლება იყოს მოდელი ობიექტების გამოყენებით. პროგრამული უზრუნველყოფა არის პროგრამების კოლექცია. ამრიგად, პროგრამული უზრუნველყოფის შექმნა და დანერგვა შესაძლებელია ობიექტების გამოყენებით. ობიექტების ურთიერთქმედება ხდება მეთოდების გამოყენებით. ობიექტზე ორიენტირებული პროგრამირება აუმჯობესებს კოდის მოდულარობას და ხელახლა გამოყენებადობას. უნდა არსებობდეს კლასი ობიექტების შესაქმნელად. კლასი არის ობიექტის შექმნის გეგმა. ამრიგად, ობიექტი არის კლასის მაგალითი. პროგრამირებისას საჭიროა მონაცემების შენახვა.მონაცემები ინახება მეხსიერების ადგილებში. მეხსიერების ამ ადგილებს ცვლადები ეწოდება. წევრი ცვლადი არის ცვლადი, რომელიც დაკავშირებულია კონკრეტულ ობიექტთან. ის ხელმისაწვდომია ყველა მისი მეთოდისთვის. არსებობს ორი ტიპის წევრი ცვლადები, რომლებიც არის კლასის ცვლადები და ინსტანციის ცვლადები. კლასსა და ინსტანციის ცვლადებს შორის მთავარი განსხვავება ისაა, რომ, თუ ცვლადის მხოლოდ ერთი ასლია გაზიარებული კლასის ყველა ინსტანციასთან, ამ ცვლადებს უწოდებენ კლასის ცვლადებს და თუ კლასის თითოეულ ინსტანციას აქვს ცვლადის საკუთარი ასლი, მაშინ ამ ცვლადებს ეწოდება ინსტანციის ცვლადები.
რა არის კლასის ცვლადები?
როცა ცვლადის მხოლოდ ერთი ასლია გაზიარებული კლასის ყველა ინსტანციასთან, ამ ცვლადებს უწოდებენ კლასის ცვლადებს. კლასის ცვლადები არის ცვლადები, რომლებიც გამოცხადებულია კლასში ნებისმიერი მეთოდის გარეთ. ეს ცვლადები შეიცავს საკვანძო სიტყვას static.ეს ცვლადები ასოცირდება კლასთან და არა ობიექტთან.
სურათი 01: კლასის ცვლადები და ინსტანციის ცვლადები
იხილეთ კოდის ქვემოთ მოცემული ნაწილი კლასის ცვლადებით.
საჯარო კლასის თანამშრომელი {
public static int id;
საჯარო სტატიკური ორმაგი ხელფასი;
}
საჯარო კლასის ტესტი {
საჯარო სტატიკური ბათილი მთავარი (სტრიქონი არგები){
Employee e1=new Employee();
Employee e2=new Employee();
}
}
ზემოხსენებული პროგრამის მიხედვით, e1 და e2 არის Employee ტიპის ობიექტები. ორივეს ექნება მეხსიერების იგივე ასლი. თუ e1.id=1 და ბეჭდვა e2.id ასევე მისცემს მნიშვნელობას 1. შესაძლებელია id და ხელფასის მნიშვნელობების დაბეჭდვა Employee კლასის სახელის გამოყენებით, როგორიცაა Employee. ID, თანამშრომელი.ხელფასი და ა.შ.
რა არის ინსტანციის ცვლადები?
როდესაც კლასის თითოეულ ინსტანციას აქვს ცვლადის საკუთარი ასლი, მაშინ ეს ცვლადები ცნობილია როგორც ინსტანციის ცვლადები. იხილეთ ქვემოთ მოცემული პროგრამა.
საჯარო კლასის თანამშრომელი {
public int id;
საჯარო ორმაგი ხელფასი;
}
საჯარო კლასის ტესტი{
საჯარო სტატიკური ბათილი მთავარი (სტრიქონი არგები){
Employee e1=new Employee();
e1.id=1;
e1.salary=20000;
Employee e2=new Employee();
e2.id=2;
e2. ხელფასი=25000;
}
}
მთავარ პროგრამაში, e1 და e2 არის მითითებები Employee ტიპის ობიექტებზე. შესაძლებელია id და ხელფასის მნიშვნელობების მინიჭება წერტილოვანი ოპერატორის გამოყენებით, როგორიცაა e1.id, e1. ხელფასი და ა.შ. ID და ხელფასი კლასში Employee ცნობილია როგორც ინსტანციის ცვლადები.e1 და e2 ცალკეული ობიექტებია. თითოეულ ობიექტს ექნება ინსტანციის ცვლადების ცალკე ასლი. e1-ს ექნება ცალკე ID და ხელფასი და e2-ს ექნება ცალკე ID და ხელფასი. ასე რომ, ინსტანციის ცვლადები იქმნება ობიექტის ან ინსტანციის შექმნისას.
რა მსგავსებაა კლასსა და ინსტანციის ცვლადებს შორის?
- ორივე ცვლადის ტიპია.
- ორივე ცვლადი არის კლასის შიგნით, მაგრამ ნებისმიერი მეთოდის გარეთ.
რა განსხვავებაა კლასსა და ინსტანციის ცვლადებს შორის?
კლასის ცვლადები vs მაგალითად ცვლადები |
|
კლასის ცვლადები არის ცვლადები, რომლებშიც არის ცვლადის მხოლოდ ერთი ასლი გაზიარებული კლასის ყველა ეგზემპლართან. | ინსტანციის ცვლადები არის ცვლადები, როდესაც კლასის თითოეულ ინსტანციას აქვს ცვლადის საკუთარი ასლი. |
ასოციაცია | |
კლასის ცვლადები ასოცირდება კლასთან. | მაგალითის ცვლადები ასოცირდება ობიექტებთან. |
ასლების რაოდენობა | |
კლასის ცვლადები ქმნიან ერთ ასლს ყველა ობიექტისთვის. | მაგალითის ცვლადები ქმნიან ცალკე ასლს თითოეული ობიექტისთვის. |
საკვანძო სიტყვები | |
კლასის ცვლადებს უნდა ჰქონდეს სტატიკური საკვანძო სიტყვა. | მაგალითის ცვლადებს არ სჭირდებათ სპეციალური საკვანძო სიტყვა, როგორიცაა static. |
შეჯამება – კლასი და ინსტანციის ცვლადები
ობიექტზე ორიენტირებული პროგრამირება ძირითადი პროგრამირების პარადიგმაა. ის ეხმარება პროგრამული უზრუნველყოფის მოდელირებას ობიექტების გამოყენებით.ობიექტები იქმნება კლასების გამოყენებით. ობიექტის შექმნა ასევე ცნობილია როგორც ინსტანცია. კლასი უზრუნველყოფს ობიექტის შექმნის გეგმას. წევრი ცვლადი არის ცვლადი, რომელიც დაკავშირებულია კონკრეტულ ობიექტთან. ის ხელმისაწვდომია ყველა მისი მეთოდისთვის. არსებობს ორი ტიპის წევრი ცვლადები, როგორიცაა, კლასის ცვლადები და ინსტანციის ცვლადები. განსხვავება კლასისა და ინსტანციის ცვლადებს შორის არის ის, რომ თუ ცვლადის მხოლოდ ერთი ასლია გაზიარებული კლასის ყველა ინსტანციასთან, ამ ცვლადებს უწოდებენ კლასის ცვლადებს და თუ კლასის თითოეულ ინსტანციას აქვს ცვლადის საკუთარი ასლი, მაშინ ისინი ცვლადებს ეწოდება ინსტანციის ცვლადები.
ჩამოტვირთეთ PDF ვერსია Class vs Instance Variables
შეგიძლიათ ჩამოტვირთოთ ამ სტატიის PDF ვერსია და გამოიყენოთ იგი ოფლაინ მიზნებისთვის ციტირების შენიშვნის მიხედვით. გთხოვთ ჩამოტვირთოთ PDF ვერსია აქ: განსხვავება კლასსა და ინსტანციის ცვლადებს შორის