Powiedz co chcesz dokładnie zrobić, bo robisz to dziwnie. Ja zrozumiałem, że masz obiekt B (kompozycja) w klasie A i chcialbys jego pola (ich wartości) przekazać do klasy C. Może po prostu dać klasie A metodę do zwrócenia instancji B a w definicji klasy B dać gettery?
Ja bym to zrobił przez dziedziczenie. Zrobił klasę AbstractEnemy, i dla każdej klasy przeciwnika robił np. Monster extends AbstractEnemy, Demon extends AbstractEnemy. Staty przeciwnika, byłby zdefiniowane w klasie abstrakcyjnej, ale dzięki dziedziczeniu, ponieważ konkretny potwór byłby też klasy AbstractEnemy, to miałby jej pola.
IMO masz złą architekturę tego “systemu” już u podstaw. Powinieneś zrobić klasę bazową (jakiś punkt wyjścia “ras/postaci”), następnie poprzez dziedziczenie dorabiać/rozszerzać je o inne cechy, a postacie powinny być obiektami bo wg tego co piszesz to Ty robisz postacie w prywatnych polach klasy, i wtedy jedenym obiekcie masz kilka postaci? Przemyśl to co robisz…
– Dodane 09.02.2012 (Cz) 18:24 –
Nie doczytałem do końca ale chodzi mi mniej więcej o to co napisał kostek135
czy czasem nie chodzi Ci poprostu do metody zwracające wartości zmiennych w klasie
public class Przeciwnik {
private int sila;
public Przeciwnik(int sila) {
this.sila = sila;
}
public int getSila() {
return sila;
}
public void setSila(int sila) {
this.sila = sila;
}
}