powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / abstract static
8 сообщений из 8, страница 1 из 1
abstract static
    #33741181
unicornmirage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хочу чтобы в яве была возможность создавать абстрактные статические методы...
столкнулся с такой задачей вот..
конечно может я неправильно спроектировал архитектуру приложения, но все же вот задача:

есть классы
Код: plaintext
C1, C2, ..., Cn 

которые наследуют абстрактный класс
Код: plaintext
1.
2.
 abstract   class  AbstractC {
 abstract   void  foo();
}
и переопределяют метод foo(). всё тривиально.

Но, кроме того, для каждого из класса Cn нужно сделать статические методы configure которые конфигурирут статические поля каждого из Cn ,

с точки зрения ООП метод configure обладает свойствами полиморфизма, но все же он статический, и поэтому его нельзя сделать абстрактным, что очень жаль... :(

учитывая, что множество Cn является мастабируемым, то использование методов configure для каждого класса Cn возможно при знании о типе этого класса...

в качестве разбушевавшейся фантазии - у меня возникла нереальная мысль - а что бы если бы существовали абстрактные статические методы... :)
хочу услышать любую критику на это.
...
Рейтинг: 0 / 0
abstract static
    #33741211
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
unicornmirageхочу услышать любую критику на это.
А что критиковать? Совершенно нормальное желание, пользуюсь такими и рад этому.
...
Рейтинг: 0 / 0
abstract static
    #33741221
unicornmirage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer
пользуюсь такими и рад этому.
интересно, а как?
...
Рейтинг: 0 / 0
abstract static
    #33741366
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не в яве :)
...
Рейтинг: 0 / 0
abstract static
    #33741460
expp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerНе в яве :)
а где???
уникомраду
ну бывают иногда такие желания. но в яве такого нет. может просто использовать Singleton ???
...
Рейтинг: 0 / 0
abstract static
    #33741718
unicornmirage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
expp
может просто использовать Singleton ???
E
А кто будет вызывать эти методы configure?
...
кто клиент?
[/QUOTE]

[QUOTE]
А по поводу задачи, замени статические поля и методы на синглетон.
[/QUOTE]

скорее всего использование "желаемого" статического абстрактного метода связано с наложением правил создания классов Cn - тоесть хотелось бы указать программисту обязательно создавать данный static метод configure для текущего класса, т.к. у всего множества этих классов предполагается некий общий статический контекст.. Если бы задача не была бы связана с статическим контекстом - все было бы просто - компилятор заставлял бы переопределять все указанные абстрактные методы..

попытаюсь описать задачу свою математически чтобы было понятно что я хотел сказать:

есть множество классов A = { C1, C2, ..., Cn }

каждый класс Ci - есть тоже множество - множество инстанций данного класса

так вот, все элементы множества A - должны реализовать общий статический метод configure - который различается реализацией для каждого из классов.
-------------

метод configure задает во время выполнения программы некоторые статические правила для всех инстанций класса Ci

в общем постарался объяснить свою задачу, как мог подробнее... :)


[quot автор]уникомраду
тогда уж уникорн мираж :) потому что ник пишется правильно Unicorn Mirage, сорри за офтоп
...
Рейтинг: 0 / 0
abstract static
    #33742358
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
unicornmirageНо, кроме того, для каждого из класса Cn нужно сделать статические методы configure которые конфигурирут статические поля каждого из Cn ,


abstract принуждает наследников данного класса реализовать данный метод.
Это нужно для того, чтобы когда с экземпляром был этот метод вызван, он бы отработал правильно и без ошибок. Статический метод вызывается всегда по имени класса, если в классе нет такого метода, то компилятор выдаст ошибку. Поэтому abstract для static methods - абсурд. abstract вообще нужен для помощи программисту в правильном написании программ с использованием позднего связывания. А при вызове static оно всегда статическое (раннее).

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

Поэтому для инициализации статических полей достаточно написать статические инициализаторы или простые инициализаторы.
...
Рейтинг: 0 / 0
abstract static
    #33742886
unicornmirage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivabstract вообще нужен для помощи программисту в правильном написании программ с использованием позднего связывания.

всё верно, я просто решил помечтать насчет статических шаблонов... ну нельзя так нельзя. :)
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / abstract static
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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