• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Tworzenie instancji klasy i odwoływanie się do niej !?!

Object Storage Arubacloud
0 głosów
273 wizyt
pytanie zadane 9 maja 2016 w Algorytmy przez Rafał Matuszczak Początkujący (340 p.)

Witam

Mam pytanie ogólne z jakby procedury tworzenia / korzystania z techniki objektowej, a więc :

Przypuśćmy że mamy klasę Pojazd, klasa ta zawiera atrybut prywatny (_float stan_zbiornika) oraz dwie metody Set_StanZbiornika(float value) i Get_StanZbiornika() dla wyjaśnienia jedna ustawia stan druga zwraca stan aktualny.

 no i jeśli chcę wykorzystać tę klasę to oczywiście tworzę jej instancje np w jakimś startowym main:

Pojazd p = new Pojazd ()   

i ustawiam wartość zbiornika na 500 L

p.Set_StanZbiornika(500)

no i pięknie mamy w klasie ustawioną wartość , gdzie banalnie korzystając z metody Get_StanZbiornika() w tej samej instancji klasy uzyskamy wartość 500

Ale powiedzmy że muszę stworzyć instancję nową klasy Pojazd w innym miejscu programu, gdzie chciałbym sprawdzić stan zbiornika pojazdu i oczywiście metoda Get_StanZbiornika() da nam 0 jeśli jej wcześniej nie ustawimy.... 

i moje pytanie... Jak zastosować przykład do rozwiązania takiego, aby utworzenie nowe instacji klasy w innym miejscu programu odwoływało się do jakiegoś "zbiornika danych" które raz ustawione w programie (np. na początku) będzie nam zwracało wyniki bez ponownego ustawiania... chciałbym aby ten zbiornik był np. ArrayList..

jeśli błądzę gdzieś z samym projektowaniem to proszę naprowadźcie mnie na prostą...

Z góry dzięki za odp

 

1 odpowiedź

+1 głos
odpowiedź 9 maja 2016 przez niezalogowany
Jeżeli stan_zbiornika ma być wspólną wartością dla wszystkich pojazdów jakie stworzysz to niech atrybut będzie statyczny

https://msdn.microsoft.com/en-us/library/aa691162(v=vs.71).aspx
komentarz 9 maja 2016 przez Rafał Matuszczak Początkujący (340 p.)
dobry pomysł, ale chyba z tego co w testach wyszło mi że zmienną static mogłem zdeklarować tylko w metodach/funkcjach klasy, a nie globalnie w klasie, ale przyjrzałem się opcji SHARED i to bym chyba wykorzystał bardziej z powodzeniem, ponieważ zbudowałem strukturę Pojazd gdzie Stan_Zbiornika jest Shared i to daje mi efekt. Tylko że hermetyzacja trochę słaba w takim rozwiązaniu co ? Ale dziękuje za podpowiedź \m/

Podobne pytania

0 głosów
1 odpowiedź 365 wizyt
pytanie zadane 2 czerwca 2017 w C# przez Szymek_sw Początkujący (420 p.)
0 głosów
0 odpowiedzi 412 wizyt
0 głosów
1 odpowiedź 143 wizyt
pytanie zadane 26 listopada 2016 w C i C++ przez Caishen Nowicjusz (210 p.)

92,579 zapytań

141,427 odpowiedzi

319,654 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...