У меня есть дерево объектов, которое выглядит примерно так:
Ball
/ \
LegalBall IllegalBall
И у меня есть 2 метода:
class o {
AddBall(LegalBall l)
AddBall(IllegalBall i)
}
в другом классе я бы хотел сделать следующее:
o.AddBall(myBall);
, где myBall имеет тип Ball.
И заставить его вызывать правильный метод в зависимости от подтипа.
Видимо, я не могу этого сделать ... аргументы не применимы.
Кто-нибудь знает, как я могу добиться того, чего хочу? Или если есть хорошая работа вокруг
Спасибо
РЕДАКТИРОВАТЬ: приложение, которое я пытаюсь создать, это тип Cricket Scorecard. Поэтому, в зависимости от типа шара, который должен быть использован, различные другие элементы должны меняться.
Мое первоначальное намерение состояло в том, чтобы иметь возможность указать тип мяча и количество забегов, забитых в какой-либо форме пользовательского интерфейса, а затем создать шарик соответствующего типа из BallFactory, а затем, например, когда я отправлю мяч без оценки в счет команды, он добавит значение на счет команды, но также добавьте значение к счетчику без шаров. Но когда я даю тот же шар анализу Batsmens, чтобы иметь дело с ним, нужно только получить значение -1 к общему количеству batsmens.
Надеюсь, это не слишком плохое объяснение моего первоначального намерения.