|
|
|
abstract static
|
|||
|---|---|---|---|
|
#18+
Хочу чтобы в яве была возможность создавать абстрактные статические методы... столкнулся с такой задачей вот.. конечно может я неправильно спроектировал архитектуру приложения, но все же вот задача: есть классы Код: plaintext которые наследуют абстрактный класс Код: plaintext 1. 2. Но, кроме того, для каждого из класса Cn нужно сделать статические методы configure которые конфигурирут статические поля каждого из Cn , с точки зрения ООП метод configure обладает свойствами полиморфизма, но все же он статический, и поэтому его нельзя сделать абстрактным, что очень жаль... :( учитывая, что множество Cn является мастабируемым, то использование методов configure для каждого класса Cn возможно при знании о типе этого класса... в качестве разбушевавшейся фантазии - у меня возникла нереальная мысль - а что бы если бы существовали абстрактные статические методы... :) хочу услышать любую критику на это. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2006, 19:21 |
|
||
|
abstract static
|
|||
|---|---|---|---|
|
#18+
unicornmirageхочу услышать любую критику на это. А что критиковать? Совершенно нормальное желание, пользуюсь такими и рад этому. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2006, 19:52 |
|
||
|
abstract static
|
|||
|---|---|---|---|
|
#18+
softwarer пользуюсь такими и рад этому. интересно, а как? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2006, 20:01 |
|
||
|
abstract static
|
|||
|---|---|---|---|
|
#18+
softwarerНе в яве :) а где??? уникомраду ну бывают иногда такие желания. но в яве такого нет. может просто использовать Singleton ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2006, 03:03 |
|
||
|
abstract static
|
|||
|---|---|---|---|
|
#18+
expp может просто использовать Singleton ??? E А кто будет вызывать эти методы configure? ... кто клиент? [/QUOTE] [QUOTE] А по поводу задачи, замени статические поля и методы на синглетон. [/QUOTE] скорее всего использование "желаемого" статического абстрактного метода связано с наложением правил создания классов Cn - тоесть хотелось бы указать программисту обязательно создавать данный static метод configure для текущего класса, т.к. у всего множества этих классов предполагается некий общий статический контекст.. Если бы задача не была бы связана с статическим контекстом - все было бы просто - компилятор заставлял бы переопределять все указанные абстрактные методы.. попытаюсь описать задачу свою математически чтобы было понятно что я хотел сказать: есть множество классов A = { C1, C2, ..., Cn } каждый класс Ci - есть тоже множество - множество инстанций данного класса так вот, все элементы множества A - должны реализовать общий статический метод configure - который различается реализацией для каждого из классов. ------------- метод configure задает во время выполнения программы некоторые статические правила для всех инстанций класса Ci в общем постарался объяснить свою задачу, как мог подробнее... :) [quot автор]уникомраду тогда уж уникорн мираж :) потому что ник пишется правильно Unicorn Mirage, сорри за офтоп ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2006, 10:02 |
|
||
|
abstract static
|
|||
|---|---|---|---|
|
#18+
unicornmirageНо, кроме того, для каждого из класса Cn нужно сделать статические методы configure которые конфигурирут статические поля каждого из Cn , abstract принуждает наследников данного класса реализовать данный метод. Это нужно для того, чтобы когда с экземпляром был этот метод вызван, он бы отработал правильно и без ошибок. Статический метод вызывается всегда по имени класса, если в классе нет такого метода, то компилятор выдаст ошибку. Поэтому abstract для static methods - абсурд. abstract вообще нужен для помощи программисту в правильном написании программ с использованием позднего связывания. А при вызове static оно всегда статическое (раннее). Со статической инициализацией все гораздо проще, потому что ее никогда никто не будет вызывать. Это делается при загрузке класса автоматически. Поэтому для инициализации статических полей достаточно написать статические инициализаторы или простые инициализаторы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2006, 12:51 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=33742358&tid=2149183]: |
0ms |
get settings: |
6ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
155ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
| others: | 244ms |
| total: | 482ms |

| 0 / 0 |
