Sobes.tech
Junior — Middle

Vai objekts mainīsies, ja tā metode tiks pārrakstīta apakšklasē?

sobes.tech AI

Atbilde no AI

Ja apakšklasē pārrakstāt pamata klases metodi, tad, izsaucot šo metodi apakšklases objektā, tiks izmantota jauna realizācija. Objekts kā apakšklases instances nemainās, bet metodes uzvedība mainās. Tas ļauj mainīt vai paplašināt funkcionalitāti bez sākotnējās klases maiņas.

Piemērs C#:

class BaseClass
{
    public virtual void ShowMessage()
    {
        Console.WriteLine("Pamatklases ziņa");
    }
}

class DerivedClass : BaseClass
{
    public override void ShowMessage()
    {
        Console.WriteLine("Apakšklases ziņa");
    }
}

// Izmantošana
BaseClass obj = new DerivedClass();
obj.ShowMessage(); // Izvadīs: "Apakšklases ziņa"

Tādējādi objekta struktūra nemainās, bet tā uzvedība ar metodes palīdzību mainās.