Dziedziczenie: ponowne wykorzystanie kodu
Ponownie wykorzystuj i rozszerzaj istniejący kod za pomocą dziedziczenia w języku C#
Dziedziczenie: ponowne wykorzystanie kodu to bezpłatna lekcja C# Academy na CoddyKit. To lekcja 6 z 7. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej C# Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs C# Academy zawiera 7 lekcji w sumie.
Wprowadzenie do dziedziczenia
Dziedziczenie: ponowne używanie kodu
Witamy w kolejnej lekcji! W tej lekcji poznają Państwo dziedziczenie, jedną z podstawowych zasad programowania obiektowego, oraz dowiedzą się, jak umożliwia ono ponowne używanie kodu i tworzenie hierarchii. Zaczynajmy!

Czym jest dziedziczenie?
Czym jest dziedziczenie?
Dziedziczenie umożliwia jednej klasie (klasie potomnej lub klasie pochodnej) przejęcie atrybutów i metod innej klasy (klasy nadrzędnej lub klasy bazowej). Umożliwia ponowne używanie kodu oraz tworzenie hierarchicznych relacji między klasami.
Przykład: Klasa "Car" może służyć jako klasa bazowa dla klas "ElectricCar" i "SportsCar", współdzieląc wspólne właściwości, takie jak "Color" i "Speed".
Definiowanie klasy bazowej
Definiowanie klasy bazowej
Klasa bazowa zawiera wspólne właściwości i metody, które mogą być dziedziczone przez klasy pochodne. Przykład:
Najważniejsze: Kod przeznaczony do ponownego użycia należy definiować w klasie bazowej.
using System;
class Vehicle {
public string Color;
public void Drive() {
Console.WriteLine("The vehicle is driving.");
}
}
Tworzenie klasy pochodnej
Tworzenie klasy pochodnej
Klasa pochodna dziedziczy właściwości i metody klasy bazowej. Do wskazania dziedziczenia należy użyć symbolu :. Przykład:
Najważniejsze: Klasy pochodne mogą dodawać nowe funkcje lub przesłaniać funkcjonalność klasy bazowej.
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();
}
}
Przesłanianie metod
Przesłanianie metod
Klasy pochodne mogą przesłaniać metody klasy bazowej, aby zapewnić wyspecjalizowane zachowanie. W klasie bazowej należy użyć słowa kluczowego virtual, a w klasie pochodnej słowa kluczowego override. Przykład:
Wskazówka: Przesłanianie jest przydatne do dostosowywania zachowania klas pochodnych.
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
}
}
Słowo kluczowe base
Słowo kluczowe base
Słowo kluczowe base służy do uzyskiwania dostępu do składowych klasy bazowej z poziomu klasy pochodnej. Przykład:
Wskazówka: Proszę używać base, aby rozszerzać lub uzupełniać działanie klasy bazowej.
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();
}
}
Zadanie praktyczne
Zadanie praktyczne
Proszę utworzyć klasę bazową o nazwie Animal z metodą Speak(), która wyświetla tekst „Zwierzę wydaje dźwięk.” Proszę utworzyć klasy pochodne Dog i Cat, które przesłaniają metodę Speak(), wyświetlając odpowiednio teksty „Pies szczeka.” i „Kot miauczy.” Przykład:
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();
}
}
Najlepsze praktyki dotyczące dziedziczenia
Najlepsze praktyki dotyczące dziedziczenia
Oto kilka najważniejszych praktyk:
- Dziedziczenia należy używać tylko wtedy, gdy istnieje wyraźna relacja „jest” (np. Car jest klasą Vehicle).
- Klasy bazowe powinny być możliwie ogólne.
- W razie potrzeby należy używać
sealed, aby uniemożliwić dalsze dziedziczenie.
Wskazówka: Dziedziczenie powinno upraszczać bazę kodu, a nie ją komplikować.
Świetna robota!
Świetna robota!
Gratulacje! W tej lekcji nauczyli się Państwo używać dziedziczenia do ponownego wykorzystywania kodu i tworzenia hierarchii klas w języku C#. W kolejnej lekcji poznamy polimorfizm — kolejne potężne pojęcie programowania obiektowego. Kodujmy dalej!

Często zadawane pytania
Czy lekcja „Dziedziczenie: ponowne wykorzystanie kodu” jest bezpłatna?
Tak — pełny tekst „Dziedziczenie: ponowne wykorzystanie kodu” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu C# Academy, przejdź na CoddyKit PRO. Kurs C# Academy zawiera 7 lekcji w sumie.
Co nauczysz się w „Dziedziczenie: ponowne wykorzystanie kodu”?
Ponownie wykorzystuj i rozszerzaj istniejący kod za pomocą dziedziczenia w języku C# Ćwiczysz C# Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć C# Academy?
Nie wymagamy żadnego doświadczenia. C# Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 6 z 7.
Ile czasu zajmuje lekcja „Dziedziczenie: ponowne wykorzystanie kodu”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji C# Academy?
Tak. Każda lekcja C# Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Czym jest programowanie obiektowe?
- Definiowanie klas i obiektów
- Właściwości i metody
- Konstruktory w C#
- Enkapsulacja i modyfikatory dostępu
- Dziedziczenie: ponowne wykorzystanie kodu
- Polimorfizm i przesłanianie metod