Labo: Gevorderde overervingsconcepten

Zie Scherp Scherper - Hoofdstuk 14 (in opbouw)

Hoofdstuk 14 in een notendop

Alles erft van System.Object, ook je eigen klassen

Override ToString, en Equals nooit zonder GetHashCode

abstract klasse: geen new, wel overerven

abstract methode: geen body, de child moet overriden

Een eigen exception erft van Exception, throw werpt ze op

internal abstract class Meubel
{
    public abstract int AantalPoten();
    public override string ToString()
    {
        return $"Meubel met {AantalPoten()} poten";
    }
}
internal class Kruk : Meubel
{
    public override int AantalPoten() { return 3; }
}

Console.WriteLine(new Kruk());
Meubel met 3 poten

De oefeningen

ToString, Equals en GetHashCode

Extra ToString aan bestaande projecten Boek: de tweedehandsboekenbeurs De boekenbeurs telt

Abstracte klassen

Geometrische figuren Money, money, money Dierentuin

Code lezen en verbeteren

Wie woont er op kot? Stevens abstracte bouwwerf

Een eigen exception

Saldo tekort

Alles samen

Meme Lord Simulator Final Essentials, GPT

Oefeningen H14

Alles is Essential, behalve de gestippelde.

Nieuw in H14

public override string ToString(): teruggeven, niet printen

Equals nooit zonder GetHashCode

if (o is not X temp) return false;, en CS8765 mag blijven

abstract methode: geen body, klasse ook abstract