C# Academy · Les

Overerving: code hergebruiken

Hergebruik en breid bestaande code uit met overerving in C#

Les 6 van 710 stappen

Overerving: code hergebruiken is een gratis C# Academy-les op CoddyKit. Dit is les 6 van 7. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject C# Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus C# Academy bevat in totaal 7 lessen.

Inleiding tot overerving

Overerving: code hergebruiken

Welkom bij de volgende les! In deze les leer je meer over overerving, een van de kernprincipes van objectgeoriënteerd programmeren, en over hoe je hiermee code kunt hergebruiken en hiërarchieën kunt opbouwen. Laten we beginnen!

Overerving: code hergebruiken — illustratie 1

Wat is overerving?

Met overerving kan één klasse (de subklasse of afgeleide klasse) de attributen en methoden van een andere klasse (de superklasse of basisklasse) overnemen. Hierdoor kun je code hergebruiken en hiërarchische relaties tussen klassen opbouwen.

Voorbeeld: Een klasse "Car" kan dienen als basisklasse voor de klassen "ElectricCar" en "SportsCar", waarbij ze gemeenschappelijke eigenschappen zoals "Color" en "Speed" delen.

Een basisklasse definiëren

Een basisklasse bevat gemeenschappelijke eigenschappen en methoden die door afgeleide klassen kunnen worden overgenomen. Voorbeeld:

Belangrijk punt: Definieer herbruikbare code in de basisklasse.

using System;

class Vehicle {
    public string Color;

    public void Drive() {
        Console.WriteLine("The vehicle is driving.");
    }
}

Een afgeleide klasse maken

Een afgeleide klasse erft de eigenschappen en methoden van een basisklasse. Gebruik het symbool : om overerving aan te geven. Voorbeeld:

Belangrijk punt: Afgeleide klassen kunnen nieuwe functies toevoegen of de functionaliteit van de basisklasse overschrijven.

using System;

class Vehicle {
    public string Color;

    public void Drive() {
        Console.WriteLine("The vehicle is driving.");
    }
}

class Car : Vehicle {
    public int NumberOfDoors;

    public void ShowDetails() {
        Console.WriteLine("Color: " + Color);
        Console.WriteLine("Doors: " + NumberOfDoors);
    }
}

class Program {
    static void Main() {
        Car myCar = new Car();
        myCar.Color = "Red"; // Inherited from Vehicle
        myCar.NumberOfDoors = 4;
        myCar.Drive(); // Inherited from Vehicle
        myCar.ShowDetails();
    }
}

Methoden overschrijven

Afgeleide klassen kunnen methoden in de basisklasse overschrijven om specifiek gedrag te bieden. Gebruik het sleutelwoord virtual in de basisklasse en het sleutelwoord override in de afgeleide klasse. Voorbeeld:

Tip: Overschrijven is nuttig om gedrag in afgeleide klassen aan te passen.

using System;

class Vehicle {
    public virtual void Drive() {
        Console.WriteLine("The vehicle is driving.");
    }
}

class SportsCar : Vehicle {
    public override void Drive() {
        Console.WriteLine("The sports car is driving fast!");
    }
}

class Program {
    static void Main() {
        SportsCar myCar = new SportsCar();
        myCar.Drive(); // Calls the overridden method
    }
}

Trefwoord base

Met het base-trefwoord krijg je vanuit een afgeleide klasse toegang tot leden van de basisklasse. Voorbeeld:

Tip: Gebruik base om het gedrag van de basisklasse uit te breiden of aan te vullen.

using System;

class Vehicle {
    public string Color;

    public virtual void Drive() {
        Console.WriteLine("The vehicle is driving.");
    }
}

class Truck : Vehicle {
    public override void Drive() {
        base.Drive(); // Calls the base class method
        Console.WriteLine("The truck is carrying a heavy load.");
    }
}

class Program {
    static void Main() {
        Truck myTruck = new Truck();
        myTruck.Color = "Blue";
        myTruck.Drive();
    }
}

Oefenopdracht

Maak een basisklasse met de naam Animal met een methode Speak() die "Het dier maakt een geluid." afdrukt. Maak afgeleide klassen Dog en Cat die Speak() overschrijven en "De hond blaft." en "De kat miauwt." afdrukken. Voorbeeld:

using System;

class Animal {
    public virtual void Speak() {
        Console.WriteLine("The animal makes a sound.");
    }
}

class Dog : Animal {
    public override void Speak() {
        Console.WriteLine("The dog barks.");
    }
}

class Cat : Animal {
    public override void Speak() {
        Console.WriteLine("The cat meows.");
    }
}

class Program {
    static void Main() {
        Animal myDog = new Dog();
        Animal myCat = new Cat();

        myDog.Speak();
        myCat.Speak();
    }
}

Goede werkwijzen voor overerving

Hier volgen enkele goede werkwijzen:

  • Gebruik overerving alleen wanneer er een duidelijke "is-een"-relatie bestaat (bijv. een Car is een Vehicle).
  • Houd basisklassen zo algemeen mogelijk.
  • Gebruik sealed om verdere overerving te voorkomen wanneer dat nodig is.

Tip: Overerving hoort je codebasis eenvoudiger te maken, niet ingewikkelder.

Goed gedaan!

Gefeliciteerd! Je hebt geleerd hoe je overerving gebruikt om code opnieuw te gebruiken en klassenhiërarchieën in C# op te bouwen. In de volgende les gaan we dieper in op polymorfisme, een ander krachtig concept binnen objectgeoriënteerd programmeren. Laten we blijven programmeren!

Overerving: code hergebruiken — illustratie 10
Gratis beginnen

Leer C# met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
93
Lessen
346

Veelgestelde vragen

Is de les “Overerving: code hergebruiken” gratis?

Ja — de volledige tekst van “Overerving: code hergebruiken” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus C# Academy wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus C# Academy bevat in totaal 7 lessen.

Wat leer ik in “Overerving: code hergebruiken”?

Hergebruik en breid bestaande code uit met overerving in C# Je oefent met C# Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met C# Academy te beginnen?

Ervaring vooraf is niet nodig. C# Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 6 van 7.

Hoe lang duurt de les “Overerving: code hergebruiken”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over C# Academy?

Ja. Elke les over C# Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. Wat is objectgeoriënteerd programmeren?
  2. Klassen en objecten definiëren
  3. Properties en methoden begrijpen
  4. Constructors in C#
  5. Inkapseling en toegangsmodificatoren
  6. Overerving: code hergebruiken
  7. Polymorfisme en methoden overschrijven
← Terug naar C# Academy