Witam.
Co mam zrobić jeżeli w wielu klasach używam tej samej metody tylko typy zmiennych są inne?
Przykład:
public abstract class Skill {
private final SkillType skillType;
public Skill(SkillType skillType) {
this.skillType = skillType;
}
public SkillType getSkillType() {
return skillType;
}
}
public class FireSkill extends Skill {
public FireSkill(SkillType skillType) {
super(skillType);
}
public void use(User user, Location location) {
//use skill using user and location variable.
}
}
public class WaterSkill extends Skill {
public WaterSkill(SkillType skillType) {
super(skillType);
}
public void use(User user, Block block) {
//use skill using user nad block variable.
}
}
Czy do każdej klasy mam dopisywać use(potrzebne obiekty) czy jest jakiś sposób wykorzystując np. interfejsy