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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Class -> first class object 
V
    Опции темы
Karadul
Дата 19.2.2012, 02:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Вот поэтому это решение мне не очень нравится - теряются все преимущества явы как статического языка. Нет ли чего-нибудь получше?

Это сообщение отредактировал(а) Karadul - 19.2.2012, 02:05
PM MAIL   Вверх
Karadul
Дата 19.2.2012, 04:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Почему-то никто не подсказал про Factory. Вообще костыльность явы просто поражает.

Код

public class Consumer implements IConsumerFactory {
    @Override
    public IConsumer getConsumer(Socket sock) throws IOException {
        return (IConsumer) new Consumer(sock);
    }
    
    public class Consumer implements IConsumer {
        public Consumer(Socket sock) throws IOException {
            ....
        }
    }
}

PM MAIL   Вверх
Samotnik
Дата 19.2.2012, 13:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Super star !
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 7192
Регистрация: 4.11.2006
Где: Минск City

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



Цитата(Karadul @  19.2.2012,  04:53 Найти цитируемый пост)
Почему-то никто не подсказал про Factory

Потому что нужно формировать задачу яснее  smile 
Цитата(Karadul @  19.2.2012,  04:53 Найти цитируемый пост)
Вообще костыльность явы просто поражает.

что именно является костылём? Одно из основополагающих свойств полиморфизма, когда супер класс может ссылаться на подкласс?
PM MAIL   Вверх
Karadul
Дата 19.2.2012, 13:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(Samotnik @  19.2.2012,  13:11 Найти цитируемый пост)
Потому что нужно формировать задачу яснее  smile 

Дык куда уж. Пример кода я дал.


Цитата(Samotnik @  19.2.2012,  13:11 Найти цитируемый пост)
что именно является костылём?

То, что класс - не обьект первого класса, как и функция. А костыли - это фабрики и интерфейсы вместо замыканий.
PM MAIL   Вверх
jk1
Дата 19.2.2012, 18:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата

Дык куда уж. Пример кода я дал.


... из которого ничего не ясно. Какой-то thread, какой-то socket. Вы хотите на основании пришедших по сокету данных создать объект? Или что? Тогда какие данные будут приходить?
Вы описали бы подробно, что есть в наличии и что надо получить. Тогда и ответ был бы сразу.

Цитата

То, что класс - не обьект первого класса, как и функция.
 

Функций в java нет вообще. А класс все-таки first class object, тут Вы неправы.




--------------------
Opinions are like assholes — everybody has one
PM MAIL   Вверх
Karadul
Дата 19.2.2012, 18:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(jk1 @  19.2.2012,  18:45 Найти цитируемый пост)
А класс все-таки first class object

Но пользоваться им можно только через ректум.

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

Что еще попалось на глаза - в яве искаропки нет парсера для двоичный форматов с little endian полями, не говоря о смешаных и чего-нибудь вроде zero-terminated строк.

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

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

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


 




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


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

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