Sobes.tech
Junior — Middle

შესაძლებელია მეთოდის ფუნქციონალობის შეცვლა მემკვიდრეობით მიღებული კლასში მასზე გადაწერით?

sobes.tech AI

პასუხი AI-სგან

დიახ, C#-ში შესაძლებელია მეთოდის ფუნქციონალობის შეცვლა მასში მემკვიდრეობით კლასში გადაწერით. ამისათვის, ძირითადი მეთოდი უნდა იყოს გამოცხადებული virtual საკვანძო სიტყვით, ხოლო მემკვიდრეობით კლასში მას შეიძლება გადაწეროთ override საკვანძო სიტყვით.

მაგალითი:

class BaseClass
{
    public virtual void ShowMessage()
    {
        Console.WriteLine("ძირითადი კლასის შეტყობინება");
    }
}

class DerivedClass : BaseClass
{
    public override void ShowMessage()
    {
        Console.WriteLine("გადაწერილი შეტყობინება მემკვიდრეობით კლასიდან");
    }
}

DerivedClass ობიექტზე ShowMessage მეთოდის გამოძახება შეასრულებს მეთოდის გადაწერილ ვერსიას.