rubesom napisał(a)
Piszę sobie grę gdzie mam postacie, pojazdy, obrażenia zadawane postaciom i pojazdom, ...
Zwróć uwagę, że opisujesz zarówno przedmioty jak i czynności, które wykonują; Możesz "kod" gry podzielić na kilka elementów:
przedmiot | = | klasa
czynność | = | metoda
cecha/własność | = | właściwość
Czyli każdy przedmiot w grze powinien posiadać implementację własnej klasy, każda czynność jaką wykonuje przedmiot powinna być metodą, a każda własność/cecha/właściwość przedmiotu powinna być prywatnym polem lub właściwością; Do tego dojdzie jeszcze polimorfizm, abstrakcja i inne mechanizmy obiektowości;
rubesom napisał(a)
Czy lepiej pisać każdy element w innej klasie?
Zależy jak to rozumiesz; Każdy przedmiot nie posiadający części wspólnych cech z innymi powinien być osobną klasą; Przedmioty mające po części wspólne cechy powinny mieć wspólną klasę bazową i z niej dziedziczyć;
rubesom napisał(a)
Chodzi mi o to jak to wpłynie np. na rozmiar pliku wyjściowego i jaki nawyk sobie wyrabiać?
Nie przejmuj się tak rozmiarem pliku wyjściowego, bo czy będzie miał 1MB
czy 5MB
to w dzisiejszych czasach aż tak dużego znaczenia nie ma; Większą wagę przywiązuj do jakości kodu i poziomu jego efektywności, bo to jest ważniejsze niż kilka(set) kilobajtów;
Nie znam Javy, ale obiektowość w niej pewnie działa na tej samej zasadzie co w większości innych obiektowych języków.