Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Pomoc s OO kódom

Aha, takže Java:

public abstract class Spaceship {

    private int hull;
    private int maxHull;

    public Spaceship(int hull, int maxHull) {
        if (hull > maxHull) {
            throw new IllegalArgumentException();
        }
        this.hull = hull;
        this.maxHull = maxHull;
    }

    public int getHull() {
        return hull;
    }
    
    public int setHull(int hull) {
        this.hull = hull < maxHull ? hull : maxHull;
    }

    ...
}
Metóda setHull a konštruktor sú trochu nekonzistentné, pretože v jednej sa vyhadzuje výnimka a v druhej sa potichu nastaví maximálna hodnota. Mal by si si vybrať jednu možnosť a tú dodržiavať.

public class Viper extends Fighter {
       
    private String name;    
    
    public Viper() {
        this("Viper");
    }
    
    public Viper(String name) {
        this(name, 12);
    }
    
    public Viper(String name, int hull) {
        super(hull, 15)
        setName(name);
    }

    ...
}
Konštantu STANDART_HULL som úplne vyhodil, lebo sa mi nezdá, že by si si ju potreboval niekde pamätať. Ale môžeš si ju tam samozrejme pridať.

Reakce na odpověď

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny