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 მეთოდის გამოძახება შეასრულებს მეთოდის გადაწერილ ვერსიას.