Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Можно ли заменить конструктор класса? / 24 сообщений из 24, страница 1 из 1
09.03.2007, 18:40:40
    #34381328
Fixin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли заменить конструктор класса?
Мне нужно заменить конструктор класса А на конструктор класса A1, наследника класса А.
Чтобы везде, где создается класс А, создавался не А, а А1.
Можно ли такое провернуть в Джава.

ну например есть класс Принтер, я сделал свой класс ПринтерМой и хочу, чтобы везде в коде вместо Принтер юзался мой класс, причем в моем классе есть вызовы метода Принтер и он наследует от принтер, т.е. просто заменить класс нельзя.
...
Рейтинг: 0 / 0
09.03.2007, 18:45:03
    #34381338
Зашедший
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли заменить конструктор класса?
Заменить прямые вызовы конструктора использованием фабрики объектов.
...
Рейтинг: 0 / 0
09.03.2007, 18:51:32
    #34381345
Fixin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли заменить конструктор класса?
А в уже готовом коде никак?
...
Рейтинг: 0 / 0
09.03.2007, 19:01:56
    #34381365
Зашедший
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли заменить конструктор класса?
Никак... Лучше все-таки создать фабрику объектов, в будущем позволит гораздо гибче подменять одни реализации другими, если это так необходимо.
...
Рейтинг: 0 / 0
09.03.2007, 19:11:53
    #34381381
Fixin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли заменить конструктор класса?
ЗашедшийНикак... Лучше все-таки создать фабрику объектов, в будущем позволит гораздо гибче подменять одни реализации другими, если это так необходимо.

Гм. Как вы считаете, почему этого не сделано в платформе Java?
...
Рейтинг: 0 / 0
09.03.2007, 19:13:48
    #34381385
Timm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли заменить конструктор класса?
Fixin ЗашедшийНикак... Лучше все-таки создать фабрику объектов, в будущем позволит гораздо гибче подменять одни реализации другими, если это так необходимо.

Гм. Как вы считаете, почему этого не сделано в платформе Java?
Покажи где сделано?
...
Рейтинг: 0 / 0
09.03.2007, 19:34:12
    #34381425
Зашедший
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли заменить конструктор класса?
Fixin ЗашедшийНикак... Лучше все-таки создать фабрику объектов, в будущем позволит гораздо гибче подменять одни реализации другими, если это так необходимо.

Гм. Как вы считаете, почему этого не сделано в платформе Java?
Потому что не вижу ни одной разумной причины, по которой такая фигня может быть кому-либо нужна.
...
Рейтинг: 0 / 0
09.03.2007, 20:58:57
    #34381539
expp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли заменить конструктор класса?
2 Fixin: вы батенька, я смотрю решили AOPом побаловаться. осторожно!!!

пожалуй можно с AspectJ начать ну и там SpringAOP, Javassist, cglib, asm
...
Рейтинг: 0 / 0
09.03.2007, 21:06:28
    #34381550
Fixin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли заменить конструктор класса?
Зашедший Fixin ЗашедшийНикак... Лучше все-таки создать фабрику объектов, в будущем позволит гораздо гибче подменять одни реализации другими, если это так необходимо.

Гм. Как вы считаете, почему этого не сделано в платформе Java?
Потому что не вижу ни одной разумной причины, по которой такая фигня может быть кому-либо нужна.

Вот вам разумная причина - я хочу заменить старый класс своим, включив новый функционал и не переделывать вызовы всех конструкторов.
...
Рейтинг: 0 / 0
09.03.2007, 21:09:01
    #34381553
y3u
y3u
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли заменить конструктор класса?
Fixin ЗашедшийНикак... Лучше все-таки создать фабрику объектов, в будущем позволит гораздо гибче подменять одни реализации другими, если это так необходимо.

Гм. Как вы считаете, почему этого не сделано в платформе Java?

потому что это была бы огромная дырища в безопасности... ты пишешь реализацию, ты пишешь бизнеслогику - ты отвечаешь за безопасность кода. Надо делать как все нормальные люди - через фектори...
...
Рейтинг: 0 / 0
09.03.2007, 21:10:10
    #34381555
y3u
y3u
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли заменить конструктор класса?
Fixin Зашедший Fixin ЗашедшийНикак... Лучше все-таки создать фабрику объектов, в будущем позволит гораздо гибче подменять одни реализации другими, если это так необходимо.

Гм. Как вы считаете, почему этого не сделано в платформе Java?
Потому что не вижу ни одной разумной причины, по которой такая фигня может быть кому-либо нужна.

Вот вам разумная причина - я хочу заменить старый класс своим, включив новый функционал и не переделывать вызовы всех конструкторов.

если изначально в исходниках не предусмотрена возможность исползования фектори - значит нельзя. Ну или пиши свой класслоадер...
...
Рейтинг: 0 / 0
09.03.2007, 21:11:24
    #34381556
Fixin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли заменить конструктор класса?
я хозяин всего кода и хочу разрешить заменять функционал класса.
Потому что, прежде чем заменить новый класс, я проверяю его код и источник этого кода.
В чем я не прав?
...
Рейтинг: 0 / 0
09.03.2007, 21:14:36
    #34381558
y3u
y3u
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли заменить конструктор класса?
ну так какие проблемы, пиши свой класслоадер и подгружай классы как хочешь
...
Рейтинг: 0 / 0
09.03.2007, 21:15:47
    #34381560
y3u
y3u
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли заменить конструктор класса?
хочу посмотреть как твой класслоадер будет смотреть на два идентичных класса и выбирать правильный
...
Рейтинг: 0 / 0
09.03.2007, 21:22:49
    #34381569
A. Fig Lee
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли заменить конструктор класса?
Fixin Зашедший Fixin ЗашедшийНикак... Лучше все-таки создать фабрику объектов, в будущем позволит гораздо гибче подменять одни реализации другими, если это так необходимо.

Гм. Как вы считаете, почему этого не сделано в платформе Java?
Потому что не вижу ни одной разумной причины, по которой такая фигня может быть кому-либо нужна.

Вот вам разумная причина - я хочу заменить старый класс своим, включив новый функционал и не переделывать вызовы всех конструкторов.
Флаг в руки!
Хинт: в Java все функции - виртуальные..
2. Переопределить класс где создается обьект A и назначить там обьект B.
Хотя, если private member - то практически кранты
...
Рейтинг: 0 / 0
10.03.2007, 00:06:01
    #34381683
Leonidv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли заменить конструктор класса?
Fixin , вам срочно изучать следующее:
Понятие класса;
ООП-полиморфизм и виртуальные функции;
Язык Java;
Паттерны проектирования.

Причем именно в таком порядке. ПСМС, на изучение первых двух пунктов годика пол у вас уйдет...
...
Рейтинг: 0 / 0
12.03.2007, 18:33:07
    #34385277
Fixin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли заменить конструктор класса?
y3uхочу посмотреть как твой класслоадер будет смотреть на два идентичных класса и выбирать правильный

а как написать класс лоадер - в том то и вопрос.
Как, как. По списку вида Тип - НужныйТип.
Т.е. везде где встречается Тип будет создаваться НужныйТип.
...
Рейтинг: 0 / 0
12.03.2007, 18:34:06
    #34385281
Fixin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли заменить конструктор класса?
Leonidv Fixin , вам срочно изучать следующее:
Понятие класса;
ООП-полиморфизм и виртуальные функции;
Язык Java;
Паттерны проектирования.

Причем именно в таком порядке. ПСМС, на изучение первых двух пунктов годика пол у вас уйдет...

леонид, я не ИЗУЧАЮ и не ПРОГРАММИРУЮ на джава, я пытаюсь понять, ПОДХОДИТ ли для моих целей джава. Так понятно?
...
Рейтинг: 0 / 0
12.03.2007, 18:51:25
    #34385335
Зашедший
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли заменить конструктор класса?
Fixin Leonidv Fixin , вам срочно изучать следующее:
Понятие класса;
ООП-полиморфизм и виртуальные функции;
Язык Java;
Паттерны проектирования.

Причем именно в таком порядке. ПСМС, на изучение первых двух пунктов годика пол у вас уйдет...

леонид, я не ИЗУЧАЮ и не ПРОГРАММИРУЮ на джава, я пытаюсь понять, ПОДХОДИТ ли для моих целей джава. Так понятно?
Видите ли, ООП (виртуальные функции, наследование, интерфейсы, полиморфизм и тыды), а также Паттерны - не зависят от языка, это фундаментальные основы программирования (по крайней мере - в наиболее распространненных императивных языках). И Ява тут ни при чем, с равным успехом все указанное можно использовать и в C#, и в Delphi, и в С++...
...
Рейтинг: 0 / 0
12.03.2007, 19:06:18
    #34385372
Fixin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли заменить конструктор класса?
Зашедший Fixin Leonidv Fixin , вам срочно изучать следующее:
Понятие класса;
ООП-полиморфизм и виртуальные функции;
Язык Java;
Паттерны проектирования.

Причем именно в таком порядке. ПСМС, на изучение первых двух пунктов годика пол у вас уйдет...

леонид, я не ИЗУЧАЮ и не ПРОГРАММИРУЮ на джава, я пытаюсь понять, ПОДХОДИТ ли для моих целей джава. Так понятно?
Видите ли, ООП (виртуальные функции, наследование, интерфейсы, полиморфизм и тыды), а также Паттерны - не зависят от языка, это фундаментальные основы программирования (по крайней мере - в наиболее распространненных императивных языках). И Ява тут ни при чем, с равным успехом все указанное можно использовать и в C#, и в Delphi, и в С++...

окей, но в Visual Basic я могу без проблем вызвать любой метод класса, лишь бы он был, потому что там не контролируется тип. Java - тоже в некотором роде интерпретатор, почему бы и здесь не быть такому. Так что ООП все же разное в разных языках.
...
Рейтинг: 0 / 0
12.03.2007, 19:40:38
    #34385435
Зашедший
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли заменить конструктор класса?
Fixin Зашедший Fixin Leonidv Fixin , вам срочно изучать следующее:
Понятие класса;
ООП-полиморфизм и виртуальные функции;
Язык Java;
Паттерны проектирования.

Причем именно в таком порядке. ПСМС, на изучение первых двух пунктов годика пол у вас уйдет...

леонид, я не ИЗУЧАЮ и не ПРОГРАММИРУЮ на джава, я пытаюсь понять, ПОДХОДИТ ли для моих целей джава. Так понятно?
Видите ли, ООП (виртуальные функции, наследование, интерфейсы, полиморфизм и тыды), а также Паттерны - не зависят от языка, это фундаментальные основы программирования (по крайней мере - в наиболее распространненных императивных языках). И Ява тут ни при чем, с равным успехом все указанное можно использовать и в C#, и в Delphi, и в С++...

окей, но в Visual Basic я могу без проблем вызвать любой метод класса, лишь бы он был, потому что там не контролируется тип. Java - тоже в некотором роде интерпретатор, почему бы и здесь не быть такому. Так что ООП все же разное в разных языках.
В VB.NET такого тоже делать уже нельзя. Потому что в отличие от предыдущих версий он не "типа-объекто-поддерживающий", а полноценный ОО-язык.
...
Рейтинг: 0 / 0
13.03.2007, 19:00:01
    #34388427
Fixin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли заменить конструктор класса?
Мда, неужели все ООП ушло в область жесткой типизации? Или только полноценное? ;-)
...
Рейтинг: 0 / 0
13.03.2007, 19:15:44
    #34388468
Зашедший
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли заменить конструктор класса?
FixinМда, неужели все ООП ушло в область жесткой типизации? Или только полноценное? ;-)
Остались VBScript, JavaScript, Ruby, PHP... в общем - скриптовые языки.
...
Рейтинг: 0 / 0
14.03.2007, 10:59:54
    #34389515
y3u
y3u
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли заменить конструктор класса?
Fixinа как написать класс лоадер - в том то и вопрос

просвещайся, если доки читать лень http://forum.vingrad.ru/topic-64725.html
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Можно ли заменить конструктор класса? / 24 сообщений из 24, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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