Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / В java нет делегатов? / 25 сообщений из 29, страница 1 из 2
21.05.2012, 15:38:20
    #37804122
avp.mk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В java нет делегатов?
В джаве нет делегатов? Или чего-нибудь схожего по функционалу?
...
Рейтинг: 0 / 0
21.05.2012, 15:40:58
    #37804139
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В java нет делегатов?
avp.mkВ джаве нет делегатов? Или чего-нибудь схожего по функционалу?
C# делегат это синтаксический сахар, который от кодера прячет подноготную паттерна Observer/Listener.
...
Рейтинг: 0 / 0
21.05.2012, 15:47:49
    #37804154
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В java нет делегатов?
Blazkowiczavp.mkВ джаве нет делегатов? Или чего-нибудь схожего по функционалу?
C# делегат это синтаксический сахар, который от кодера прячет подноготную паттерна Observer/Listener.
как то ты витеевато. :)
Скажи что плохо, что нет и всё :))
...
Рейтинг: 0 / 0
21.05.2012, 16:07:38
    #37804227
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В java нет делегатов?
Petro123Скажи что плохо, что нет и всё :))
Нет и не нужен особо. :) Через анонимные классы все делают и не страдают особо.
...
Рейтинг: 0 / 0
21.05.2012, 16:09:12
    #37804231
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В java нет делегатов?
Blazkowicz,
да. Дело привычки :). Строчек больше :)
...
Рейтинг: 0 / 0
21.05.2012, 16:23:06
    #37804263
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В java нет делегатов?
Нету делегатов. Ну и не нужно, чеснслово.
...
Рейтинг: 0 / 0
21.05.2012, 16:24:53
    #37804270
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В java нет делегатов?
ПС. Партиал-классов тоже нету. :)
...
Рейтинг: 0 / 0
21.05.2012, 16:28:18
    #37804276
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В java нет делегатов?
ShSergeПС. Партиал-классов тоже нету. :)
Ну, давайте вообще всё в этом посте перечислим. И свойства, и переопределение операторов, и рантайм генерики, и т.д.
...
Рейтинг: 0 / 0
21.05.2012, 16:38:10
    #37804300
avp.mk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В java нет делегатов?
BlazkowiczНет и не нужен особо. :)
Petro123Строчек больше :)
ShSergeПС. Партиал-классов тоже нету. :)
Не хотелось бы устраивать холиваров. Давайте лучше поговорим о подобных инструментах в java.
...
Рейтинг: 0 / 0
21.05.2012, 16:44:37
    #37804322
avp.mk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В java нет делегатов?
Пока вижу только одно подобное решение - переопределение метода(-ов) дочерних классов.
...
Рейтинг: 0 / 0
21.05.2012, 16:44:47
    #37804323
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В java нет делегатов?
avp.mkНе хотелось бы устраивать холиваров. Давайте лучше поговорим о подобных инструментах в java.
java.util.Observer, но оно используется редко.
в GUI своих листенеров навалом. А вместо общего обсервера там, в основном, JavaBeans PropertyChangeListener используется.
Т.е. зависит от того зачем оно вам понадобилось.
...
Рейтинг: 0 / 0
21.05.2012, 16:45:39
    #37804327
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В java нет делегатов?
avp.mkПока вижу только одно подобное решение - переопределение метода(-ов) дочерних классов.
? При чем здесь переопределение ? Давайте на примере разберем. Показывайте свой делегат.
...
Рейтинг: 0 / 0
21.05.2012, 17:10:12
    #37804420
avp.mk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В java нет делегатов?
Blazkowicz? При чем здесь переопределение ?
Примерно так:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
package javaapplication3;

interface SomethingLikeDelegat {
    public double doIt();
}

class Default implements SomethingLikeDelegat {
    @Override
    public double doIt() {
//      какие-то инструкции
        return 10;
    }
}

public class JavaApp {
    //переменная, которая будет ссылаться на экхемпляры различных наследников (с разными реализациями метода doIt())
    public static SomethingLikeDelegat l = new Default();

    public static void main(String[] args) {
//      какие-то действия, которые могут поменять значение l
        l.doIt();
//      снова они
        l = new SomethingLikeDelegat() {
            @Override
            public double doIt() {
                return System.currentTimeMillis() % 1000;
            }
        };
        System.out.println(
        l.doIt());
    }
}



Кода с делегатами нет - писать его некогда.
...
Рейтинг: 0 / 0
21.05.2012, 17:16:14
    #37804436
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В java нет делегатов?
Всё верно. Только дефолтная реализация она опциональна. Поэтому правильный ответ не "через переопределение методов", а через "Анонимные классы". Переопределения метода может и не быть, когда используется лишь интерфейс. Хотя начиная с Java 6 реализацию интерфейса уже можно обзывать переопределением (@Override) хотя это и не верно с логической точки зрения, но верно с точки зрения назначения этой аннотации.
...
Рейтинг: 0 / 0
21.05.2012, 17:23:52
    #37804460
avp.mk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В java нет делегатов?
Blazkowiczправильный ответ не "через переопределение методов", а через "Анонимные классы".[quot avp.mk]
Код: java
1.
2.
3.
4.
5.
6.
7.
class Default implements SomethingLikeDelegat {
    @Override
    public double doIt() {
//      какие-то инструкции
        return 10;
    }
}



BlazkowiczПереопределения метода может и не быть, когда используется лишь интерфейс.
Если я хочу создать экземпляр (а я его содаю) переопределения метода не может не быть, когда используется интерфейс.
...
Рейтинг: 0 / 0
21.05.2012, 17:26:44
    #37804465
avp.mk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В java нет делегатов?
avp.mk
Код: java
1.
2.
3.
4.
5.
6.
7.
class Default implements SomethingLikeDelegat {
    @Override
    public double doIt() {
//      какие-то инструкции
        return 10;
    }
}


Это не анонимный класс - я дал ему имя "Default"..
...
Рейтинг: 0 / 0
21.05.2012, 17:30:57
    #37804473
Сына
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В java нет делегатов?
avp.mkЕсли я хочу создать экземпляр (а я его содаю) переопределения метода не может не быть, когда используется интерфейс.
Если у метода нет реализации, то там и переопределять нечего.
...
Рейтинг: 0 / 0
21.05.2012, 17:35:25
    #37804483
avp.mk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В java нет делегатов?
Сынаavp.mkЕсли я хочу создать экземпляр (а я его содаю) переопределения метода не может не быть, когда используется интерфейс.
Если у метода нет реализации, то там и переопределять нечего.
А, вот вы о чём. Ну да, пожалуй.
...
Рейтинг: 0 / 0
21.05.2012, 17:47:11
    #37804517
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В java нет делегатов?
avp.mkЭто не анонимный класс - я дал ему имя "Default"..
Это и не делегат, это реализация интерфейса. Делегат вот:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
class JavaApp {
...
l = new SomethingLikeDelegat() {
            @Override
            public double doIt() {
                return JavaApp.this.delegatedDoIt();
            }
        };
...

double delegatedDoIt(){
   //implementation
}

}
...
Рейтинг: 0 / 0
21.05.2012, 18:07:52
    #37804548
avp.mk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В java нет делегатов?
Blazkowicz,
Можете написать java код который компилируется и работает?
...
Рейтинг: 0 / 0
21.05.2012, 20:43:50
    #37804745
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В java нет делегатов?
avp.mkBlazkowicz,
Можете написать java код который компилируется и работает?
Сначала Вы написали, что не надо устраивать холиваров (первое нарушение - самомодерирование), а теперь хотите, чтобы кто-то за Вас написал код?
Обалдеть!
...
Рейтинг: 0 / 0
21.05.2012, 22:07:37
    #37804811
avp.mk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В java нет делегатов?
ShSergeavp.mkBlazkowicz,
Можете написать java код который компилируется и работает?
Сначала Вы написали, что не надо устраивать холиваров (первое нарушение - самомодерирование)
Я написал "хотелось бы" т.е. вежливо (ну по крайней мере хотел) предложил поговорить по теме , а не впускаться в бесконечные разговоры о том какой язык лучший.

ShSergeа теперь хотите, чтобы кто-то за Вас написал код?Обалдеть!
Нет, не хочу. У меня нет сейчас таких задач, которые требовали делегатов. Вопрос был чисто теоретический.
Я бы хотел - чтобы те, кто тут отписываются не писали не работающую бесполезную хрень.
...
Рейтинг: 0 / 0
21.05.2012, 23:37:36
    #37804885
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В java нет делегатов?
Ну и не пищите хрень. Кто же Вас заставляет? Как-то, с явой дружу гораздо дольше, чем с сишарпом (от начала того и другого). Чё-то, в процессе разработки, таких вопросов никогда не возникало. Например, в яве делается так, а в сишарпе - эдак. Ну и что? Какие нафиг аналоги? Аналог goto в сишарпе имеется? Никогда не пользовался. :)
...
Рейтинг: 0 / 0
21.05.2012, 23:50:31
    #37804906
Большой Синий Кит
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В java нет делегатов?
avp.mkМожете написать java код который компилируется и работает?
Blazkowicz Вам его написал :) Неужто сложно разобраться?
Так и быть, разжую его пример:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
public class JavaApp {
    interface SomethingLikeDelegat {
        public double doIt();
    }

    public static SomethingLikeDelegat l;

    public void runDelegat() {
        l = new SomethingLikeDelegat() {
            @Override
            public double doIt() {
                return JavaApp.this.delegatedDoIt();
            }
        };
        System.out.println(l.doIt());
    }

    double delegatedDoIt() {
        return 1;
    }

    public static void main(String[] args){
        new JavaApp().runDelegat();
    }
}
...
Рейтинг: 0 / 0
21.05.2012, 23:51:52
    #37804909
Большой Синий Кит
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В java нет делегатов?
P.S. Ассимилировал с Вашим кодом.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / В java нет делегатов? / 25 сообщений из 29, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]