Junior — Middle
Ar objektas pasikeis, jei jo metodas bus perrašytas pogrupyje?
sobes.tech AI
Atsakymas iš AI
Jei pogrupyje perrašote pagrindinio klases metodą, tada kviečiant šį metodą pogrupio objekte bus naudojama nauja realizacija. Objekto kaip pogrupio pavyzdžio struktūra nesikeičia, tačiau metodo elgsena keičiasi. Tai leidžia keisti arba plėsti funkcionalumą nesikeičiant pirminės klasės.
Pavyzdys C#:
class BaseClass
{
public virtual void ShowMessage()
{
Console.WriteLine("Pagrindinės klasės pranešimas");
}
}
class DerivedClass : BaseClass
{
public override void ShowMessage()
{
Console.WriteLine("Pogrupio pranešimas");
}
}
// Naudojimas
BaseClass obj = new DerivedClass();
obj.ShowMessage(); // Išves: "Pogrupio pranešimas"
Taip objekto struktūra nesikeičia, tačiau jo elgsena per metodą keičiasi.