Kluczowa różnica – klasa a zmienne instancji
Większość nowoczesnych języków programowania obsługuje programowanie zorientowane obiektowo. Obiekt zawiera dane lub atrybuty. Obiekt ma pewne zachowania. Są znane jako metody. Program można modelować za pomocą obiektów. Oprogramowanie to zbiór programów. Dzięki temu oprogramowanie można projektować i wdrażać przy użyciu obiektów. Obiekty wchodzą w interakcję za pomocą metod. Programowanie zorientowane obiektowo poprawia modułowość kodu i możliwość ponownego wykorzystania. Powinna istnieć klasa do tworzenia obiektów. Klasa to plan tworzenia obiektu. Dlatego obiekt jest instancją klasy. W programowaniu dane musiały być przechowywane. Dane są przechowywane w lokalizacjach pamięci. Te lokalizacje pamięci nazywane są zmiennymi. Zmienna składowa to zmienna powiązana z określonym obiektem. Jest dostępny dla wszystkich jego metod. Istnieją dwa typy zmiennych składowych, które są zmiennymi klas i zmiennymi instancji. Kluczową różnicą między zmiennymi klasy a zmiennymi instancji jest to, że jeśli istnieje tylko jedna kopia zmiennej współdzielona ze wszystkimi instancjami klasy, zmienne te są nazywane zmiennymi klas, a jeśli każda instancja klasy ma własną kopię zmiennej, to te zmienne są nazywane zmiennymi instancji.
Co to są zmienne klasowe?
Gdy istnieje tylko jedna kopia zmiennej współdzielona ze wszystkimi instancjami klasy, te zmienne są nazywane zmiennymi klasy. Zmienne klas to zmienne zadeklarowane wewnątrz klasy poza jakąkolwiek metodą. Te zmienne zawierają słowo kluczowe static. Te zmienne są powiązane z klasą, a nie z obiektem.
Rysunek 01: Zmienne klas i zmienne instancji
Odnieś się do poniższego fragmentu kodu ze zmiennymi klas.
public class Pracownik {
publiczny statyczny int id;
publiczna statyczna podwójna pensja;
}
test klasy publicznej {
public static void main(string args){
Pracownik e1=nowy pracownik();
Pracownik e2=nowy pracownik();
}
}
Według powyższego programu, e1 i e2 są obiektami typu Pracownik. Oba będą miały tę samą kopię pamięci. Jeśli e1.id=1 i wydrukowanie e2.id również da wartość 1. Możliwe jest wydrukowanie wartości id i pensji przy użyciu nazwy klasy Employee, takiej jak Employee.id, wynagrodzenie.pracownika itp.
Co to są zmienne instancji?
Gdy każda instancja klasy ma swoją własną kopię zmiennej, te zmienne są nazywane zmiennymi instancji. Zapoznaj się z poniższym programem.
public class Pracownik {
publiczny int id;
podwójna pensja publiczna;
}
test klasy publicznej{
public static void main(string args){
Pracownik e1=nowy pracownik();
e1.id=1;
e1.wynagrodzenie=20000;
Pracownik e2=nowy pracownik();
e2.id=2;
e2. wynagrodzenie=25000;
}
}
W programie głównym e1 i e2 są odwołaniami do obiektów typu Pracownik. Możliwe jest przypisanie wartości dla id i pensji za pomocą operatora kropki, takiego jak e1.id, e1. wynagrodzenie itp. Identyfikator i wynagrodzenie w klasie Pracownik są znane jako zmienne instancji.e1 i e2 są oddzielnymi obiektami. Każdy obiekt będzie miał osobną kopię zmiennych instancji. e1 będzie miał osobny identyfikator i pensję, a e2 będzie miał osobny identyfikator i pensję. Tak więc zmienne instancji są tworzone podczas tworzenia obiektu lub instancji.
Jakie są podobieństwa między zmiennymi klas i instancji?
- Oba są typami zmiennych.
- Obie zmienne znajdują się wewnątrz klasy, ale poza jakąkolwiek metodą.
Jaka jest różnica między zmiennymi klasowymi a instancyjnymi?
Zmienne klasowe a zmienne instancji |
|
Zmienne klas to zmienne, w których istnieje tylko jedna kopia zmiennej współdzielona ze wszystkimi instancjami klasy. | Zmienne instancji są zmiennymi, gdy każda instancja klasy ma swoją własną kopię zmiennej. |
Stowarzyszenie | |
Zmienne klas są powiązane z klasą. | Zmienne instancji są powiązane z obiektami. |
Liczba kopii | |
Zmienne klasy tworzą jedną kopię dla wszystkich obiektów. | Zmienne instancji tworzą osobną kopię dla każdego obiektu. |
Słowa kluczowe | |
Zmienne klas powinny mieć słowo kluczowe static. | Zmienne instancji nie wymagają specjalnego słowa kluczowego, takiego jak static. |
Podsumowanie - klasa a zmienne instancji
Programowanie obiektowe to główny paradygmat programowania. Pomaga modelować oprogramowanie za pomocą obiektów. Obiekty tworzone są za pomocą klas. Tworzenie obiektów jest również znane jako tworzenie instancji. Klasa udostępnia plan tworzenia obiektu. Zmienna składowa to zmienna powiązana z określonym obiektem. Jest dostępny dla wszystkich jego metod. Istnieją dwa typy zmiennych składowych, zmienne klasowe i zmienne instancji. Różnica między zmiennymi klasy i instancji polega na tym, że jeśli istnieje tylko jedna kopia zmiennej współdzielona ze wszystkimi instancjami klasy, te zmienne są nazywane zmiennymi klas, a jeśli każda instancja klasy ma własną kopię zmiennej, to te zmienne zmienne nazywane są zmiennymi instancji.
Pobierz wersję PDF klas i zmiennych instancji
Możesz pobrać wersję PDF tego artykułu i używać jej do celów offline zgodnie z notatką cytowania. Proszę pobrać wersję PDF tutaj: Różnica między zmiennymi klasowymi a instancyjnymi