C# Academy · Lektion

Arv: återanvänd kod

Återanvänd och utöka befintlig kod med arv i C#

Lektion 6 av 710 steg

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!

Arv: återanvänd kod — illustration 1

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 sealed fö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!

Arv: återanvänd kod — illustration 10
Gratis att börja

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

  1. Vad är objektorienterad programmering?
  2. Definiera klasser och objekt
  3. Förstå egenskaper och metoder
  4. Konstruktorer i C#
  5. Inkapsling och åtkomstmodifierare
  6. Arv: återanvänd kod
  7. Polymorfism och metodöverskuggning
← Tillbaka till C# Academy