Mam 2 klasy i w jednej zainicjowaną zmienną:
int[] game_x1;
Potrzebuję odczytywać i modyfikować tą zmienną z poziomu innej klasy. Jak?
Przekazać daną klasę przez parametr do innej klasy.
Proponuje od nauczenia się jaka jest różnica między obiektami a klasami.
Wygląda to mw. tak:
...
class gamesChecker extends Thread {
...
public void run() {
//tutaj muszę mieć dostęp do game_x1
}
...
}
public class mcspleef extends JavaPlugin {
...
public int[] game_x1;
...
}
Próbowałem robić tak:
class gamesChecker extends Thread {
...
private mcspleef Klasa;
public void run() {
Klasa.game_x1[0] = 1111;
}
...
}
Lecz bez skutku
To już 3625 pytanie na ten temat.
Programuję w: C#, C++, PHP, AutoIT, Python, Java
Śmiem wątpić skoro nie rozumiesz co to jest klasa i co to jest obiekt klasy. O asocjacjach, kompozycji i agregacji nawet nie wspominam. Otwórz książkę i zacznij się uczyć podstaw a potem bierz się za pisanie czegokolwiek co ma więcej niż 20 linijek.
Pisałem nawet takie które mają więcej niż 20 linijek. Powtarzam już chyba 3 raz w 3 wątku, że to, że programuję w tym języku to nie znaczy, że robię to dobrze i to umiem! Z chęcią, ale książki nie mam pod ręką, a biblioteki są chyba od środy otwarte ;)
Ale ja nie mówię że "nie da się" napisać programu który ma więcej niż 20 linijek. Ja napisałem że NIE WOLNO ci tego robić, bo robisz sobie po prostu krzywdę i tyle. To prawda że żeby nauczyć sie programować trzeba dużo pisać, ale NAJPIERW należy nauczyć się podstaw. Bo teraz to wygląda tak jakbyś przeczytał 2 strony kursu javy i umiał tylko pisać if'y a nie umiał jeszcze nawet żadnej pętli i zabrał się za pisanie gry. Da się? Da się! Tylko ze nie nauczysz się w ten sposób niczego, a wręcz przeciwnie.
Hmm nie piszę gry tylko plugin do pewnej gry :P
Sory to ja się źle wyraziłem może, chodziło o to, że pisałem już kilka pluginów, ale po prostu nie potrzebowałem tam używać kilku wątków. Tutaj jak już muszę użyć wątku to właśnie mam problem z dostaniem się do zmiennej w innej klasie. Tyle.
Z tego co widzę po google to należy do tego zrobić osobne funkcje w klasie w której jest zmienna. Na pewno nie da się jakoś łatwiej tego zrobić?
Już Ci @Patryk27 napisał co masz zrobić.
@Heniut ale ty NIC nie rozumiesz. Ta "zmienna" do której chcesz sie dostać to jest POLE OBIEKTU a nie żadna "zmienna w klasie". Póki nie zrozumiesz czym sie różni klasa od obiektu to nie ma w ogóle o czym tutaj dyskutować.
A więc polecacie jakiś art. polski (ew. angielski) na ten temat?
Heniut napisał(a):
A więc polecacie jakiś art. polski (ew. angielski) na ten temat?
To się nazywa programowanie obiektowe i jest tego multum w książkach i sieci.