Arv: återanvänd kod
Återanvänd och utöka befintlig kod med arv i C#
Arv: återanvänd kod är en gratis lektion i C# Academy på CoddyKit. Detta är lektion 6 av 7. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för C# Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i C# Academy innehåller totalt 7 lektioner.
Introduktion till arv
Arv: återanvändning av kod
Välkommen till nästa lektion! I den här lektionen får du lära dig om arv, en av objektorienterad programmerings grundprinciper, och hur det gör det möjligt att återanvända kod och skapa hierarkier. Nu sätter vi igång!

Vad är arv?
Med arv kan en klass (den underordnade klassen eller härledda klassen) ärva attribut och metoder från en annan klass (den överordnade klassen eller basklassen). Det möjliggör återanvändning av kod och hierarkiska relationer mellan klasser.
Exempel: Klassen "Car" kan fungera som basklass för klasserna "ElectricCar" och "SportsCar" och dela gemensamma egenskaper som "Color" och "Speed".
Definiera en basklass
En basklass innehåller gemensamma egenskaper och metoder som kan ärvas av härledda klasser. Exempel:
Viktigt: Definiera återanvändbar kod i basklassen.
using System;
class Vehicle {
public string Color;
public void Drive() {
Console.WriteLine("The vehicle is driving.");
}
}
Skapa en härledd klass
En härledd klass ärver egenskaper och metoder från en basklass. Använd symbolen : för att ange arv. Exempel:
Viktigt: Härledda klasser kan lägga till nya funktioner eller åsidosätta basklassens funktionalitet.
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();
}
}
Åsidosätta metoder
Härledda klasser kan åsidosätta metoder i basklassen för att tillhandahålla ett specialiserat beteende. Använd nyckelordet virtual i basklassen och nyckelordet override i den härledda klassen. Exempel:
Tips: Åsidosättning är användbart för att anpassa beteendet i härledda klasser.
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
}
}
Nyckelordet base
Nyckelordet base används för att komma åt medlemmar i basklassen från en härledd klass. Exempel:
Tips: Använd base för att utöka eller komplettera basklassens funktionalitet.
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();
}
}
Övningsuppgift
Skapa en basklass med namnet Animal och en metod Speak() som skriver ut "The animal makes a sound." Skapa härledda klasser Dog och Cat som åsidosätter Speak() och skriver ut "The dog barks." respektive "The cat meows." Exempel:
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();
}
}
Bästa praxis för arv
Här följer några rekommendationer:
- Använd endast arv när det finns en tydlig "är en"-relation (till exempel att en Car är ett Vehicle).
- Håll basklasser så generella som möjligt.
- Använd
sealedför att förhindra ytterligare arv när det behövs.
Tips: Arv ska förenkla, inte komplicera, din kodbas.
Bra jobbat!
Grattis! Du har lärt dig att använda arv för att återanvända kod och bygga klasshierarkier i C#. I nästa lektion går vi igenom polymorfism, ett annat kraftfullt koncept inom OOP. Fortsätt koda!

Lär dig C# med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 93
- Lektioner
- 346
Vanliga frågor
Är lektionen ”Arv: återanvänd kod” gratis?
Ja – hela texten till ”Arv: återanvänd kod” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i C# Academy, kan Ni uppgradera till CoddyKit PRO. Kursen i C# Academy innehåller totalt 7 lektioner.
Vad lär jag mig i ”Arv: återanvänd kod”?
Återanvänd och utöka befintlig kod med arv i C# Ni övar på C# Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig C# Academy?
Du behöver inga förkunskaper. Utbildningen i C# Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 6 av 7.
Hur lång tid tar lektionen ”Arv: återanvänd kod”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här C# Academy-lektionen?
Ja. Varje C# Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Vad är objektorienterad programmering?
- Definiera klasser och objekt
- Förstå egenskaper och metoder
- Konstruktorer i C#
- Inkapsling och åtkomstmodifierare
- Arv: återanvänd kod
- Polymorfism och metodöverskuggning