public class Niga { public abstract class Metal { public abstract int getEndurance(); } public class Steel extends Metal { @Override public int getEndurance() { return 50; } } public class Copper extends Metal { @Override public int getEndurance() { return 20; } } public class Iron extends Metal { @Override public int getEndurance() { return 30; } } public class Plastic { } public class Sword<T extends Metal> { private final T metal; public Sword(T metal) { this.metal = metal; } public boolean checkEndurance() { return metal.getEndurance() > 49; } } public class Test { public static void main(String[] args) { // Создаем меч с использованием steel Sword<Steel> steelSword = new Sword<> (Steel); // проверяем прочность и выводим результат на экран boolean isStrong = steelSword.checkEndurance(); System.out.println("Меч из стали " + (isStrong ? "прошел" : "не прошел") + " проверку прочности"); } } }
public abstract class Metal {
public abstract int getEndurance();
}
public class Steel extends Metal {
@Override
public int getEndurance() {
return 50;
}
}
public class Copper extends Metal {
@Override
public int getEndurance() {
return 20;
}
}
public class Iron extends Metal {
@Override
public int getEndurance() {
return 30;
}
}
public class Plastic {
}
public class Sword<T extends Metal> {
private final T metal;
public Sword(T metal) {
this.metal = metal;
}
public boolean checkEndurance() {
return metal.getEndurance() > 49;
}
}
public class Test {
public static void main(String[] args) {
// Создаем меч с использованием steel
Sword<Steel> steelSword = new Sword<> (Steel);
// проверяем прочность и выводим результат на экран
boolean isStrong = steelSword.checkEndurance();
System.out.println("Меч из стали " + (isStrong ? "прошел" : "не прошел") + " проверку прочности");
}
}
}