Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Через одно имя к многим свойствам, КАК ЭТО НАЗЫВАЕТСЯ 
:(
    Опции темы
almagnit
Дата 18.5.2008, 19:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 283
Регистрация: 3.4.2008

Репутация: 1
Всего: 7



Еще в школе я делал подобное т.е., обращался к нескольким свойствам объекта указывая один раз его

имя, конструкцию не помню, а делал наверное на Паскале. 

Очень уж рябит глаза :

Код

<ИМЯ ОБЪЕКТА>.<СВОЙСТВО ОБЪЕКТА>
<ИМЯ ОБЪЕКТА>.<СВОЙСТВО ОБЪЕКТА>
<ИМЯ ОБЪЕКТА>.<СВОЙСТВО ОБЪЕКТА>
<ИМЯ ОБЪЕКТА>.<СВОЙСТВО ОБЪЕКТА>
<ИМЯ ОБЪЕКТА>.<СВОЙСТВО ОБЪЕКТА>
<ИМЯ ОБЪЕКТА>.<СВОЙСТВО ОБЪЕКТА>
<ИМЯ ОБЪЕКТА>.<СВОЙСТВО ОБЪЕКТА>


Хотел бы что-то вроде:

Код

<ИМЯ ОБЪЕКТА>{
     .<СВОЙСТВО ОБЪЕКТА>
     .<СВОЙСТВО ОБЪЕКТА>
     .<СВОЙСТВО ОБЪЕКТА>
     .<СВОЙСТВО ОБЪЕКТА>
     .<СВОЙСТВО ОБЪЕКТА>
}


ЗЫ:

Последняя конструкция очень похожа на ту которую я использовал, но я не помню как это называется 

и поэтому не найду информацию. И примеров тоже не попадалось.
PM MAIL ICQ   Вверх
Kangaroo
Дата 18.5.2008, 19:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


AA - Aussie Animal
****


Профиль
Группа: Участник Клуба
Сообщений: 2042
Регистрация: 7.10.2006
Где: US

Репутация: 21
Всего: 104



Цитата(almagnit @  18.5.2008,  19:23 Найти цитируемый пост)
имя, конструкцию не помню, а делал наверное на Паскале. 

Похоже на:
with SOMETHING do
begin
   //code
end


В Java

Добавлено через 24 секунды
В Java такого нет


--------------------
Lost....
PM MAIL MSN   Вверх
almagnit
Дата 18.5.2008, 19:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 283
Регистрация: 3.4.2008

Репутация: 1
Всего: 7



Будем надеяться на появление

Добавлено через 1 минуту и 26 секунд
А как в Паскале эта конструкция называется ?
PM MAIL ICQ   Вверх
Kangaroo
Дата 18.5.2008, 20:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


AA - Aussie Animal
****


Профиль
Группа: Участник Клуба
Сообщений: 2042
Регистрация: 7.10.2006
Где: US

Репутация: 21
Всего: 104



Цитата(almagnit @  18.5.2008,  19:57 Найти цитируемый пост)
А как в Паскале эта конструкция называется ? 


Цитата(Kangaroo @  18.5.2008,  19:47 Найти цитируемый пост)
with SOMETHING do




--------------------
Lost....
PM MAIL MSN   Вверх
Platon
Дата 18.5.2008, 20:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1801
Регистрация: 25.4.2006

Репутация: 16
Всего: 40



Ребят вы че?? А как насчет...
Представим цепочку вложенных свойств: MyObject -> Object2 -> Object3 -> ...
Код

myObject.object2.object3.setValue1(val1);
myObject.object2.object3.setValue2(val2);
myObject.object2.object3.setValue3(val3);
myObject.object2.object3.setValue4(val4);

эоквивалентно
Код

final Object3 obj = myObject.object2.object3;
obj.setValue1(val1);
obj.setValue2(val2);
obj.setValue3(val3);
obj.setValue4(val4);

PM MAIL ICQ   Вверх
almagnit
Дата 18.5.2008, 20:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 283
Регистрация: 3.4.2008

Репутация: 1
Всего: 7



Platon, возьму на вооружение.

Но ты заменяешь несколько имен разных объектов одним, а суть вопроса в единичном написании имя

объекта и обращении к нескольким его свойствам.
PM MAIL ICQ   Вверх
Platon
Дата 18.5.2008, 21:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1801
Регистрация: 25.4.2006

Репутация: 16
Всего: 40



almagnit, что-то я до конца не понял, суть вопроса в сокращении рутинного письма и избавиться от рябления в глазах.

Добавлено через 2 минуты и 22 секунды
Ааа, понял. На самом деле не вижу необходимости в таком сокращении.

Добавлено через 5 минут и 11 секунд
Есть фишка с цепочным стилем, который работает к примеру в Hibernate objectName.setValue1(val1).setValue2(val2).setValue3(3)
но здесь тоже идет через функции (геттеры/сеттеры, но это в Java стиле), только некоторые библиотеки поддерживают такой подход.
PM MAIL ICQ   Вверх
Се ля ви
Дата 19.5.2008, 12:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java/SOAрхитектор
****


Профиль
Группа: Модератор
Сообщений: 2016
Регистрация: 5.6.2004
Где: place without tim e and space

Репутация: 8
Всего: 127



Как раз об этом писал в блоге:
http://se-la-vy.blogspot.com/2008/04/paramsbean.html
И здесь на форуме - http://forum.vingrad.ru/index.php?showtopi...st&p=338337


--------------------
  )
 (
[_])
проф. блог

Кролики думали, что занимаются любовью, а на самом деле их просто разводили...
PM MAIL WWW Skype GTalk   Вверх
almagnit
Дата 19.5.2008, 13:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 283
Регистрация: 3.4.2008

Репутация: 1
Всего: 7



Platon, Се ля ви, ваш способ наверное работает не со всеми объектами (для JButton не работает)

Я решил этот вопрос функцией которой в качастве параметра передается нужный обект :

Код

    void objProp(Object obj, String name){
        obj.setMinimumSize(new Dimension(25,25));
        obj.setPreferredSize(new Dimension(25,25));
        obj.setMaximumSize(new Dimension(50,50));
        obj.setText(name);
        obj.setMargin(new Insets(0,0,0,0));
        obj.addActionListener(new ElemAction());
    }

Всем спасибо за пополнение моих знаний и стремление помочь  smile .
PM MAIL ICQ   Вверх
Platon
Дата 19.5.2008, 14:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1801
Регистрация: 25.4.2006

Репутация: 16
Всего: 40



Цитата(almagnit @  19.5.2008,  14:57 Найти цитируемый пост)
ваш способ наверное работает не со всеми объектами (для JButton не работает)

Цитата(Platon @  18.5.2008,  22:12 Найти цитируемый пост)
только некоторые библиотеки поддерживают такой подход.


PM MAIL ICQ   Вверх
almagnit
Дата 19.5.2008, 14:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 283
Регистрация: 3.4.2008

Репутация: 1
Всего: 7



А как передовать моей вышеописанной функции любой объект ?

Потому как если я передаю не Object, то Java говорит что не может найти таких свойств
PM MAIL ICQ   Вверх
math64
Дата 19.5.2008, 15:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2505
Регистрация: 12.4.2007

Репутация: 8
Всего: 72



Можно так:
Код

abstract public class With<T> {
  T t;
  public With(T t) {
    this.t = t;
    Do();
  }
  
  public abstract void Do();
  
  static public void main (String[] args) {
    new With<String>("test") {
      @Override
      public void Do() {
        System.out.println(t +  ' ' + t.length());
      }
    };
  }
}

Хотя обвески много, большую её часть IDE вставляет автоматически.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0675 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.