Дополнительная фича для Java 5.0

Aug 22, 2006 22:06

Этот пост - маленькое упражнение на тему языков программирования. В отличии от предыдущих постов, речь в нем идет о том, чего нет.

При использовании generic'ов - новой фичи Java 5.0, - я несколько раз столкнулся с ограничением, которое мне не понравилось.

Например, нужно было сделать простую структуру, элементы которой образовывали бы дерево:

Read more... )

java

Leave a comment

Comments 16

Технически-опечаточное blajer August 22 2006, 18:34:24 UTC
Несуществующее слово unaccessable предлагается заменить на inaccessable. После чего комментарий удалить как не относящийся к сути проблемы.

Reply

Re: Технически-опечаточное beefeather August 22 2006, 20:38:54 UTC
Спасибо, Борис. Я даже еще немного улучшил это название :)

Reply

deonlacy October 9 2008, 16:58:34 UTC
И я приду еще, и еще, и еще… Но не для того, как ты думаешь, чтобы вырывать твои тайны силой.

Reply


loislo August 22 2006, 19:56:07 UTC
логично.
Enumeration есть некий генерик по дороге превращающийся в класс манипулирующий объектами указаного типа. Один Enum параметризованый двумя разными типами даст два разных класса у которых общего только поведение. Естественно они друг к другу не приводятся.

В плюсах можно заставить темплейт наследоваться от нужного типа и тогда проблему можно решить.
Но в плюсах нельзя уточнять тип возвращаемого параметра.

Имхо надо поменять + и - местами, плюс это нечто большее чем базовый тип, а минус меньшее.

Reply

beefeather August 22 2006, 20:50:24 UTC
Такие cast'ы нельзя делать, потому что новый интерфейс начинает либо требовать меньше (меняем в сторону базовых типов), либо обещать больше (в сторону уточнения параметра), чем на самом деле. И то, и другое нельзя позволять.

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

Reply

beefeather August 22 2006, 20:51:25 UTC
Как много я еще не знаю про плюсы :)

Reply

sevdokimov August 23 2006, 06:52:31 UTC
Извините. Если «плюсы» - это C++, то ковариация там, конечно же, возможна: см. стандарт 98-го года [10.3,5].

Reply


ex_juan_gan February 7 2007, 23:19:35 UTC
Тут проглядывает бОльшая проблема. В языках программирования типа джавы никто не в состоянии отличить класс от типа. Поэтому и внедряются "параметрические классы", и т.п. Всё это, наверное, простой обман зрения - чтоб простой народ мог программировать а не медитировать.

Reply

beefeather February 8 2007, 15:53:34 UTC
А если попросить объяснить подробнее? Я, как выросший на Pascal и C++, наверное тоже не очень ее понимаю...

Reply


Нехрамотно bravomail February 8 2007, 15:33:50 UTC
Во-первых, вычитать текст и убрать хотя бы русские граматические ошибки. Позорище.
Во-вторых, я уже который раз вижу тему темплейтов и списков. Подзанадоело!
А не полезнее ли списки добавить в язык вместо темплейтов?
Тогда эти сомнительные конструкции будут и не нужны? а?

Reply


Want to download XRumer 5.0 for free! anonymous May 4 2009, 11:54:42 UTC
Well. I want to download software pack XRumer 5.07 PALLADIUM for free. Any url???
I'm so need this magic program! It's can break captchas automatically! Activate accounts via email automatically too! Absolutely great software! Help me!
And did you hear news - price for XRumer 5.0 Palladium will grow up to $540 after 15 may 2009... And XRumer 2.9 and 3.0 - too old versions, it's cant break modern catpchas and cant break modern anti-bot protections. But XRumer 5.0 Palladium CAN!!!!
So help me for download this great soft for free! Thanks!

Reply


Leave a comment

Up