Perintä: koodin uudelleenkäyttö
Käytä olemassa olevaa koodia uudelleen ja laajenna sitä perinnän avulla C#:ssa
Perintä: koodin uudelleenkäyttö on ilmainen C# Academy-oppitunti CoddyKitissä. Tämä on oppitunti 6/7. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu C# Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. C# Academy-kurssilla on yhteensä 7 oppituntia.
Johdatus perintään
Perintä: koodin uudelleenkäyttö
Tervetuloa seuraavalle oppitunnille! Tällä oppitunnilla opitte perinnästä, joka on yksi olio-ohjelmoinnin keskeisistä periaatteista, sekä siitä, miten sen avulla voidaan käyttää koodia uudelleen ja rakentaa hierarkioita. Aloitetaan!

Mitä perintä on?
Perinnän avulla yksi luokka (lapsiluokka tai johdettu luokka) voi saada toisen luokan (yliluokan tai kantaluokan) attribuutit ja metodit. Se mahdollistaa koodin uudelleenkäytön ja hierarkkiset luokkien väliset suhteet.
Esimerkki: Luokka "Car" voisi toimia luokkien "ElectricCar" ja "SportsCar" kantaluokkana, jolloin ne jakaisivat yhteisiä ominaisuuksia, kuten "Color" ja "Speed".
Kantaluokan määrittäminen
Kantaluokka sisältää yleisiä ominaisuuksia ja metodeja, jotka johdetut luokat voivat periä. Esimerkki:
Keskeinen asia: Määrittäkää uudelleenkäytettävä koodi kantaluokkaan.
using System;
class Vehicle {
public string Color;
public void Drive() {
Console.WriteLine("The vehicle is driving.");
}
}
Johdetun luokan luominen
Johdettu luokka perii kantaluokan ominaisuudet ja metodit. Ilmaiskaa perintä käyttämällä :-symbolia. Esimerkki:
Keskeinen asia: Johdetut luokat voivat lisätä uusia ominaisuuksia tai ohittaa kantaluokan toiminnallisuutta.
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();
}
}
Metodien ylikirjoittaminen
Johdetut luokat voivat ylikirjoittaa kantaluokan metodeja tarjotakseen erikoistunutta toimintaa. Käyttäkää virtual-avainsanaa kantaluokassa ja override-avainsanaa johdetussa luokassa. Esimerkki:
Vinkki: Ylikirjoittaminen on hyödyllistä johdettujen luokkien toiminnan mukauttamiseen.
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
}
}
base-avainsana
Avainsanaa base käytetään perusluokan jäsenten käyttämiseen johdetun luokan sisältä. Esimerkki:
Vinkki: Käyttäkää base-avainsanaa perusluokan toiminnan laajentamiseen tai täydentämiseen.
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();
}
}
Harjoitustehtävä
Luokaa perusluokka nimeltä Animal, jonka metodi Speak() tulostaa "Eläin pitää ääntä." Luokaa johdetut luokat Dog ja Cat, jotka ylikirjoittavat metodin Speak() ja tulostavat "Koira haukkuu." ja "Kissa maukuu." Esimerkki:
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();
}
}
Perinnän parhaat käytännöt
Seuraavassa on joitakin parhaita käytäntöjä:
- Käyttäkää perintää vain, kun luokkien välillä on selkeä "is-a"-suhde (esimerkiksi Car on Vehicle).
- Pitäkää perusluokat mahdollisimman yleisinä.
- Käyttäkää
sealed-avainsanaa estämään perintä tarvittaessa.
Vinkki: Perinnän pitäisi yksinkertaistaa koodikantaa, ei tehdä siitä monimutkaisempaa.
Hienosti tehty!
Onnittelut! Olette oppineet käyttämään perintää koodin uudelleenkäyttöön ja luokkahierarkioiden rakentamiseen C#:ssa. Seuraavassa oppitunnissa perehdytte polymorfismiin, toiseen tehokkaaseen olio-ohjelmoinnin käsitteeseen. Jatkakaa koodaamista!

Opi C# tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 93
- Oppitunnit
- 346
Usein kysytyt kysymykset
Onko oppitunti ”Perintä: koodin uudelleenkäyttö” ilmainen?
Kyllä – oppitunnin ”Perintä: koodin uudelleenkäyttö” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko C# Academy-kurssin, päivitä CoddyKit PROhon. C# Academy-kurssilla on yhteensä 7 oppituntia.
Mitä opin oppitunnilla ”Perintä: koodin uudelleenkäyttö”?
Käytä olemassa olevaa koodia uudelleen ja laajenna sitä perinnän avulla C#:ssa Harjoittelet C# Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni C# Academy-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin C# Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 6/7.
Kuinka kauan ”Perintä: koodin uudelleenkäyttö”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä C# Academy-oppitunnilla?
Kyllä. Jokainen C# Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Mitä olio-ohjelmointi on?
- Luokkien ja olioiden määrittäminen
- Ominaisuuksien ja metodien ymmärtäminen
- Rakentajat C#:ssa
- Kapselointi ja käyttöoikeusmääritteet
- Perintä: koodin uudelleenkäyttö
- Monimuotoisuus ja metodien ylikirjoittaminen