@GeteskiyGys

Вопрос о работе кода?

(тут отступление, основная суть в части ВОПРОС)

И так всех приветствую какое то время был зарегистрирован но вот решил задать вопрос (накопилось парочку)

Начал изучать языки программирования, решил отказаться от модели "все и сразу", был C# и Java, но остановился пока на Java
(кстати буду очень признателен за разного рода книги как по Java так и по математике (нужно подымать планку а то все уже запамятовал в плане математики школьные книги есть для повторения но потом думаю еще нужно расширить кругозор чем то академическим, если это конечно будет сильно нужно))

ВОПРОС-------------
Их на деле несколько

1. Как происходит процесс создания новых юнитов в стратегиях? (думаю так лучше ассоциировать этот вопрос)
(по моему представлению это как то так, мы имеем массив типа юнит в который при создании нового юнита записываем новый объект класса юнит со всеми его параметрами и потом по ходу дела взаимодействуем с его полями, типа если мы бьем его то вычитаем хп и в таком ключе)

2. Чем вообще является массив объектов сам по себе?
(тобишь он просто хранит в себе ссылки на объекты или там все куда сложнее)

3.И вопрос о описании элемента массива, про что оно нам говорит?
(тут к примеру когда я вывожу просто элемент массива то получаю примерно следующее "sandbox.Box@14eac69", вот что это именно такое, первое получается пакет и класс в нем а вот дальше)
  • Вопрос задан
  • 198 просмотров
Пригласить эксперта
Ответы на вопрос 2
saboteur_kiev
@saboteur_kiev Куратор тега Программирование
software engineer
Что такое юнит вообще неясно.
Есть класс.
Есть инстансы этого класса - объекты.

Массив объектов - это список, который хранит ссылки на конкретные объекты.
Выводя элемент массива, наверное можно увидеть имя класса и идентификатор объекта этого типа (класса).

Вы в вашем вопросе очень путанно кидаетесь словами пакет, класс, элемент, юнит и параметры, путая их между собой.

Например у объекта не должно быть параметров - они есть у метода. У объекта могут быть методы и аттрибуты.

Разберитесь с терминологией, выпишите на бумажке определения, чтобы не путаться самому и не путать других. И многие вещи сразу станут на свои места.
Ответ написан
zagayevskiy
@zagayevskiy
Android developer at Yandex
По сути, массив хранит ссылки на объекты и всё. Разве что стоит упомянуть о том, что ссылки эти лежат в памяти последовательно, одним непрерывным куском, массивом.
Пример того, когда они могут лежать не последовательно - связный список, LinkedList в Java.

sandbox.Box@14eac69 это то, что отдал метод toString() по умолчанию. Full qualified name + @ + адрес, по которому лежит конкретный объект. Можно у класса Box переопределить метод toString(), чтобы он выдавал нечто осмысленное.

например
class Box {
    private int x, y;
    @Override
    public String toString(){
        return Box.class.getName() + "[x: " + x + ", y: " + y + "]";
    }
}

Принято считать, что toString() выдает human-readable строку, то есть его не стоит использовать, например, для сохранения внутреннего состояния объекта или завязывать на нём какую-то логику. Он в любой момент может быть изменён и это ничего не должно сломать.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы