Повечето съвременни езици за програмиране поддържат обектно ориентирано програмиране. Обектът съдържа данни или атрибути. Обектът има определени поведения. Те са известни като методи. Една програма може да бъде моделирана с помощта на обекти. Софтуерът е съвкупност от програми. Следователно, софтуер може да бъде проектиран и реализиран с помощта на обекти. Обектите се взаимодействат с помощта на методи. Обектно-ориентираното програмиране подобрява модулацията и повторната употреба на кода. Трябва да има клас за създаване на обекти. Класът е план за създаване на обект. Следователно един обект е екземпляр от клас. При програмирането данните, необходими за съхранение. Данните се съхраняват в местата на паметта. Тези места в паметта се наричат променливи. Променливата член е променлива, която е свързана с конкретен обект. Той е достъпен за всичките му методи. Има два типа променливи член, които са променливи клас и променливи инстанции. Най- ключова разлика между променливи клас и инстанция е това, ако има само едно копие на променливата, споделена с всички инстанции на класа, тези променливи се наричат променливи клас и ако всеки екземпляр от класа има свое копие на променливата, тогава тези променливи се наричат променливи инстанции.
1. Преглед и ключова разлика
2. Какво са класови променливи
3. Какво представляват променливите на инстанциите
4. Прилики между променливи клас и инстанция
5. Паралелно сравнение - променливи клас срещу инстанции в таблична форма
6. Резюме
Когато има само едно копие на променливата, споделена с всички инстанции на класа, тези променливи се наричат като променливи клас. Клас променливите са променливи, декларирани в класа извън който и да е метод. Тези променливи съдържат ключовата дума static. Тези променливи са свързани с класа, а не с обекта.
Фигура 01: Класови променливи и инстанс променливи
Вижте по-долу парче код с променливи клас.
служител в публична класа
публичен статичен int id;
публична статична двойна заплата;
Тест за публична класа
public static void main (string [] args)
Служител e1 = нов служител ();
Служител e2 = нов служител ();
Според горната програма, e1 и e2 са обекти от тип Служители. И двете ще имат едно и също копие на паметта. Ако e1.id = 1 и отпечатването на e2.id също ще даде стойност 1. Възможно е да се отпечатат стойностите на id и заплата, като се използва името на класа на Employee, като Employee.id, Employee.salary и т.н..
Когато всеки екземпляр от класа има свое копие на променливата, тогава тези променливи са известни като променливи инстанции. Вижте по-долу програмата.
служител в публична класа
public int id;
обществена двойна заплата;
Тест за публична класа
public static void main (string [] args)
Служител e1 = нов служител ();
e1.id = 1;
e1.salary = 20000;
Служител e2 = нов служител ();
e2.id = 2;
e2. заплата = 25000;
В основната програма, e1 и e2 са препратки към обектите от тип Служител. Възможно е да се присвоят стойности за id и заплата с помощта на оператора на точки като e1.id, e1. заплата и т.н. Идентификацията и заплатата в класа Служител са известни като променливи инстанции. E1 и e2 са отделни обекти. Всеки обект ще има отделно копие на променливи от инстанция. E1 ще има отделен идентификатор и заплата, а e2 ще има отделен идентификатор и заплата. Така променливите на инстанцията се създават, когато обектът или екземплярът е създаден.
Променливи от клас срещу променливи за инстанции | |
Клас променливите са променливи, в които има само едно копие на променливата, споделено с всички инстанции на класа. | Инстанциите променливи са променливи, когато всеки екземпляр от класа има свое копие на променливата. |
сдружаване | |
Класните променливи са свързани с класа. | Променливите на инстанцията са свързани с обекти. |
Брой копия | |
Класните променливи създават едно копие за всички обекти. | Инстанциите променливи създават отделно копие за всеки обект. |
Ключови думи | |
Класните променливи трябва да имат статичната ключова дума. | Променливите за инстанция не изискват специална ключова дума като статична. |
Обектно-ориентираното програмиране е основна парадигма за програмиране. Той помага за моделиране на софтуер, използвайки обекти. Обектите се създават с помощта на класове. Създаването на обекти е известно още като инстанция. Класът предоставя план за създаване на обект. Променливата член е променлива, която е свързана с конкретен обект. Той е достъпен за всичките му методи. Има два типа променливи член като, променливи клас и променливи инстанции. Разликата между променливите клас и инстанция е, че ако има само едно копие на променливата, споделено с всички инстанции на класа, тези променливи се наричат променливи клас и ако всеки екземпляр от класа има свое копие на променливата, тогава тези променливите се наричат променливи инстанции.
Можете да изтеглите PDF версията на тази статия и да я използвате за офлайн цели, съгласно цитираната бележка. Моля, изтеглете PDF версията тук: Разлика между променливи клас и инстанция
1.tutorialspoint.com. „Java обект и класове.“ Точката. Налични тук
2. „Променлива на инстанцията.“ Уикипедия, Фондация Уикимедия, 16 декември 2017 г. Достъпно тук
3. „Класова променлива.“ Уикипедия, Фондация Уикимедия, 16 декември 2017 г. Достъпно тук