![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
$tatic |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 651 Регистрация: 28.1.2005 Репутация: нет Всего: 22 |
Пишу классы по работе с векторной алгеброй. Есть базовый абстрактный класс (пока назвал его Vector, не относится к java.util.Vector). От него будут наследоваться классы Vector2D, Vector3D и т.д. Можно ли описать в базовом классе Vector алгебраические методы (например add, sub) так, чтобы тип аргумента всегда соответствовал типу подкласса. Например у класса Vector3D будет метод public void add(Vector3D v). Естественно, что можно описать их все в дочерних классах, но можно ли его описать один раз в базовом классе так, чтобы он имел параметр с типом наследника. Мне конкретный функционал его не нужен, хватит и базового (для сложения достаточно по очереди перебрать все элементы обоих векторов, но если просто объявить параметр как Vector, то можно будет, например сложить трехмерный вектор с двухмерным, а это нехорошо).
Надеюсь, объяснил понятно. ![]() |
|||
|
||||
w1nd |
|
||||
![]() Вертилятор ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1077 Регистрация: 22.3.2006 Где: Москва Репутация: 20 Всего: 54 |
Базовый класс:
Наследник:
Такой "выверт" используется, например, в Enum'ах. Это сообщение отредактировал(а) w1nd - 16.4.2007, 19:42 -------------------- ![]() ![]() |
||||
|
|||||
$tatic |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 651 Регистрация: 28.1.2005 Репутация: нет Всего: 22 |
||||
|
||||
w1nd |
|
|||
![]() Вертилятор ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1077 Регистрация: 22.3.2006 Где: Москва Репутация: 20 Всего: 54 |
Ровно для того же, что нужно вам ![]() Это сообщение отредактировал(а) w1nd - 17.4.2007, 00:58 -------------------- ![]() ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |