Zum Hauptinhalt springen

3. Lösung: Schiggy & Aquaknarre

Analog zu Pikachu und Donnerblitz implementieren wir neue Klassen Schiggy (im Ordner Pokemons) und Aquaknarre im Ordner Attacks.

// Pokemons/Schiggy.cs
using ObjectOrientation.Attacks;

namespace ObjectOrientation.Pokemons;

public class Schiggy : Pokemon
{
public Schiggy(int level)
: base("Schiggy", level, new Attack("Aquaknarre", 20))
{
}
}
// Attacks/Aquaknarre.cs
namespace ObjectOrientation.Attacks;

public class Aquaknarre : Attack
{
public Aquaknarre()
: base("Aquaknarre", 20)
{
}
}

Um zuletzt zu verhindern, dass Objekte aus der Klasse Pokemon erstellt werden, fügen wir das Schlüsselwort abstract zur Signatur der Klasse hinzu

// Pokemons/Pokemon.cs
using ObjectOrientation.Attacks;

namespace ObjectOrientation.Pokemons;

public abstract class Pokemon // Die Klasse ist jetzt 'abstract'
{
// Rest der Klasse bleibt gleich
}