C# HIERARCHICZNE KLASY


Kolejna krótka lekcja przed tobą, ta lekcja w krótki sposób ukaże ci, że można tworzyć wielopoziomowe hierarchie, dziedzicząc jedna po drugiej, ciekawe tutaj jest to w jakiej kolejności wywoływane są konstruktory poszczególnych klas. Króciutki wstęp do kodu jaki po nim nastąpi. Wyobraźmy sobie, takie klasy: PoziomA, PoziomB, PoziomC, te klasy są w pewnej hierarchii, otóż klasa PoziomB jest wyprowadzona z klasy PoziomA, a klasa PoziomC jest wyprowadzona z klasy PoziomB. Jak wspomniałem na początku ciekawą rzeczą jest sposób wywołania konstruktorów, otóż zostaje wywołany na samym początku konstruktor klasy która znajduję się na szczycie hierarchii, a następnie kolejno te które są poniżej. Jak to działa wyjaśni tobie podany przykład poniżej:

Początek kodu:
using System;


class PoziomA
{
public PoziomA()
{
Console.WriteLine(„Wywołany konstruktor klasy PoziomA”);
}
}


class PoziomB : PoziomA
{
public PoziomB():base()
{
Console.WriteLine(„Wywołany konstruktor klasy PoziomB”);
}
}


class PoziomC : PoziomB
{
public PoziomC():base()
{
Console.WriteLine(„Wywołany konstruktor klasy PoziomC”);
}
}


class Pokaz
{
public static void Main()
{
PoziomC PC = new PoziomC();
}
}

Koniec kodu:

Wszystko jest teraz już zrozumiałe, sam widzisz, że wywołując konstruktor klasy PoziomC wywołujemy konstruktor klasy bazowej dla klasy PoziomC czyli konstruktor PoziomB, znowu konstruktor klasy PoziomB wywołuje konstruktor klasy bazowej czyli konstruktor klasy PoziomA.