WedX - журнал о программировании и компьютерных науках

Каков более правильный способ объявить кнопки и т. Д. В Java

Кажется, я не могу найти прямого ответа, и, кажется, я видел, как это делается несколькими способами, здесь и где-то еще. Есть ли еще лучший способ определить, что я не видел? Как правильнее определить:

    Button image1;
Button image2;
Button image3;
Button image4;
Button image5;
Button image6;
Button image7;

Or

  Button  image1,image2,image3,image4,image5,image6,
  image7;
25.11.2016

  • Я предпочитаю, чтобы каждая переменная объявлялась отдельно. Это приводит к более читаемому коду, а назначение каждой переменной можно задокументировать отдельно. Кроме того, возможный дубликат stackoverflow.com/questions/100633/ 25.11.2016

Ответы:


1

Учитывая, что имена ваших переменных кнопок заканчиваются числами, которые монотонно возрастают, это предполагает, что вы создаете набор похожих кнопок с похожей функцией, и если это так, кажется, что «ни одна из вышеперечисленных» может быть лучшим ответом. Рассмотрим создание коллекции кнопок:

private List<Button> imageButtons = new ArrayList<>();

А затем создание и добавление нужных вам кнопок.

25.11.2016
  • Спасибо за мой первый голос!! 25.11.2016
  • Мне нравится этот метод, хотя у меня есть и другие кнопки с другими именами в действии. Они являются частью галереи с изображением, установленным в качестве фона кнопки, после нажатия на которое открывается расширенный вид изображения и предоставляются пользователю другие параметры. Кнопки в основном представляют собой миниатюры фотографий природы. Будет ли ‹массив› работать с уникальными именами кнопок? Например, Пуговичный кот; Пуговичная собачка; так... так? 25.11.2016
  • @Oliver: вы можете использовать HashMap<String, name>, если вам нужна коллекция, которая связывает строку имени с кнопкой, или вы можете создать класс-оболочку для хранения кнопки, ее имени и т. д. Также ответ Люка выглядит хорошо... 1+ к Это. 25.11.2016

  • 2

    Нет правильного пути. То, как вы определяете свои переменные, зависит от нескольких факторов, главным из которых является javadoc. В вашем первом примере вы можете дать каждой переменной свой собственный javadoc, а во втором все кнопки будут иметь общий комментарий javadoc. Например:

    /**
     * I am button a.
     */
    Button a;
    
    /**
     * I am button b.
     */
    Button b;
    
    /**
     * I am button c.
     */
    Button c;
    

    Каждая кнопка выше имеет свой собственный комментарий javadoc.

    /**
     * These are some buttons.
     */
    Button a, b, c;
    

    Хотя в этом примере все переменные выше имеют общий комментарий javadoc, поэтому, какой метод вы используете, зависит от того, что вы хотите сделать.

    Хотя в приведенном вами конкретном примере @DontKnowMuchButGettingBetter является правильным, массив лучше всего подходит для хранения ваших кнопок.

    Для неизвестного количества кнопок:

    List<Button> buttons = new ArrayList<>();

    Для известного количества кнопок:

    • Button[] buttons = new Button[]{new Button("A"), new Button("B")};

    or

    • Button[] buttons = new Button[numberOfButtons];
    25.11.2016
    Новые материалы

    Как создать диаграмму градиентной кисти с помощью D3.js
    Резюме: Из этого туториала Вы узнаете, как добавить градиентную кисть к диаграмме с областями в D3.js. Мы добавим градиент к значениям SVG и применим градиент в качестве заливки к диаграмме с..

    Я хотел выучить язык программирования MVC4, но не мог выучить его раньше, потому что это выглядит сложно…
    Просто начните и учитесь самостоятельно Я хотел выучить язык программирования MVC4, но не мог выучить его раньше, потому что он кажется мне сложным, и я бросил его. Это в основном инструмент..

    Лицензии с открытым исходным кодом: руководство для разработчиков и создателей
    В динамичном мире разработки программного обеспечения открытый исходный код стал мощной парадигмой, способствующей сотрудничеству, инновациям и прогрессу, движимому сообществом. В основе..

    Объяснение документов 02: BERT
    BERT представил двухступенчатую структуру обучения: предварительное обучение и тонкая настройка. Во время предварительного обучения модель обучается на неразмеченных данных с помощью..

    Как проанализировать работу вашего классификатора?
    Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

    Работа с цепями Маркова, часть 4 (Машинное обучение)
    Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

    Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
    Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..


    Для любых предложений по сайту: [email protected]