Klasa bazowa i pochodna
Klasa bazowa (również zwana klasą podstawową lub nadrzędną) jest klasą, z której inne klasy mogą dziedziczyć. Klasa bazowa zawiera pola i metody, które są dziedziczone przez klasy pochodne.
Klasa pochodna (również zwana klasą pochodną lub podrzędną) jest klasą, która dziedziczy z klasy bazowej. Klasa pochodna dziedziczy wszystkie pola i metody klasy bazowej oraz może mieć swoje własne pola i metody oraz nadpisywać już istniejące.
Dziedziczenie w języku C# pozwala na tworzenie nowych klas bazujących na już istniejących klasach. Klasa pochodna (dziedzicząca) dziedziczy wszystkie pola i metody klasy bazowej (którą dziedziczy) oraz może dodać swoje własne składowe oraz nadpisać już istniejące.
class Bazowa
{
// składowe i metody klasy Bazowa
}
class Dziedziczaca : Bazowa
{
// składowe i metody klasy Dziedziczącej
}
Klasa Dziedziczaca ma dostęp do wszystkich składowych publicznych i chronionych klasy bazowej, oraz
może nadpisywać metody bazowej, używając słowa kluczowego override
.
using System;
class Program
{
static void Main(string[] args)
{
Samochod samochod = new Samochod("Mazda", 4, 2); // Tworzy instancję klasy Samochod
samochod.Jedz(); // Wywołuje metodę Jedz() dla samochodu
}
// Klasa Pojazd
class Pojazd
{
protected string marka; // Pole przechowujące markę pojazdu
protected int iloscKol; // Pole przechowujące ilość kół pojazdu
// Konstruktor klasy Pojazd
public Pojazd(string marka, int iloscKol)
{
this.marka = marka;
this.iloscKol = iloscKol;
}
// Wirtualna metoda Jedz()
public virtual void Jedz()
{
Console.WriteLine("Jedzie pojazd marki " + marka + " z " + iloscKol + " kołami.");
}
}
// Klasa Samochod dziedzicząca po klasie Pojazd
class Samochod : Pojazd
{
private int liczbaDrzwi; // Pole przechowujące ilość drzwi samochodu
// Konstruktor klasy Samochod
public Samochod(string marka, int iloscKol, int liczbaDrzwi) : base(marka, iloscKol)
{
this.liczbaDrzwi = liczbaDrzwi;
}
// Przesłonięta metoda Jedz()
public override void Jedz()
{
Console.WriteLine("Jedzie samochód marki " + marka + " z " + iloscKol + " kołami i " + liczbaDrzwi + " drzwiami.");
}
}
}
Jedzie samochód marki Mazda z 4 kołami i 2 drzwiami.