Junior — Middle
Vai uzskatīt, ka metode Init bērnu klasē manto vai pārraksta pamatklases īstenojumu?
sobes.tech AI
Atbilde no AI
Metode Init manto klasē neiegūst bāzes klases īstenojumu, ja tas tiek atkārtoti deklarēts (t.i., ar to pašu nosaukumu, bet ar savu īstenojumu). Šajā gadījumā runā, ka metode ir pārrakstīta (override). Pārrakstīšana nozīmē, ka, izsaucot metodi uz manto klases objekta, tiks izmantota tieši tā versija, nevis bāzes klases.
Ja Init metode mantošanas klasē nav deklarēta, tā tiek mantota no bāzes klases un tiek izmantota bez izmaiņām.
Piemērs C#:
class BaseClass {
public virtual void Init() {
Console.WriteLine("Bāzes klases Init");
}
}
class DerivedClass : BaseClass {
public override void Init() {
Console.WriteLine("Mantošanas klases Init");
}
}
Šeit Init DerivedClass pārraksta BaseClass metodi. Ja Init nav deklarēta DerivedClass, tiek izmantota bāzes klases īstenojums.