Я довольно новичок в Java, и я довольно долго борется со следующим.Как создать класс с несколькими (взаимозаменяемыми) поведением
У меня есть этот класс «Человек» в моем проекте, и в качестве части моей модели я хотел бы, чтобы мои люди могли специализироваться и, следовательно, иметь новое поведение. Например, у меня мог бы быть человек, который начинался бы как «Гражданский», но позже мог бы превратиться в «Солдат» и узнать новое поведение.
Я использовал это в Smalltalk, добавив переменную экземпляра в мой класс «Человек», который будет указывать на экземпляр «Civil», поэтому я мог бы указать на новый экземпляр «Солдат» позже в игре, но теперь, когда в Java я ограничен типами, я не уверен, как ее решить (я не думаю, что добавление одной переменной экземпляра для каждого возможного типа может быть возможным решением, но я могу ошибаться) ,
Итак, как бы вы это сформулировали? Любой намек на то, как я могу заняться этим, будет очень признателен!
Может Humna быть более чем один из этих типов? и что именно в Smalltalk вы имеете в виду – Mark