Skip to main content

Posts

Showing posts with the label clasa

Metoda marcata cu abstract si override

O metoda sau o propietate poate sa fie marcata ca abstracta cand aceasta nu contine si implementarea. O metoda sau o propietate poate sa fie marcata ca override cand vrem sa modificam implementarea si sa oferim o noua implementare pentru un menbru mostenit din clasa de baza. Pana aici nimic deosebit, OOP pur. Oare putem sa avem o metoda care sa fie marcata atat abstracta cat si override? Raspunsul este DA. Desi pare ciudat, putem sa marcam o metoda cu aceste doua atribute: public void abstract override DoWork(); Cand putem sa avem acest caz? Cand avem o clasa abstracta care contine o metoda virtuala. public abstract Actiune { public virtual void DoWork() { Console.Write("Actiune1.DoWork"); } } Aceasta clasa poate sa fie mostenita de o alta clasa care sa ofere o alta implementare de baza la metoda DoWork. public abstract Actiune2 : Actiune { public abstract override void DoWork(); } Orice clasa ce va implementa clasa abstracta Actiune2 o sa fie obligata sa ...