Sadržaj:
Definicija - Što znači Override?
Override, u C #, je ključna riječ koja se koristi za zamjenu virtualnog člana koji je definiran u osnovnoj klasi s definicijom tog člana u izvedenoj klasi.
Modifikator preglasavanja omogućava programerima da odrede specijalizaciju postojećeg virtualnog člana naslijeđenog od osnovne klase kako bi osigurali novu implementaciju tog člana u izvedenoj klasi. Može se koristiti s metodom, svojstvom, pokazateljem ili događajem koji treba izmijeniti ili proširiti u izvedenom razredu.
Modifikator nadjačavanja namijenjen je implementaciji koncepta polimorfizma u C #.
Override se razlikuje od novih modifikatora po tome što se prvi koristi samo za poništavanje virtualnog člana osnovne klase, dok potonji također pomaže prevladati ne-virtualni član definiran u osnovnoj klasi skrivanjem definicije sadržane u osnovnoj klasi.
Tehopedia objašnjava Override
Nadjačaj se najviše koristi u kontekstu virtualne metode, u kojoj se izvršavanje vrste metode određuje tipom vremena izvođenja instancije na koju se metoda poziva. Tijekom poziva, pozivatelj ne mora znati da je pozvani objekt bila instanca izvedene klase.
Na primjer, ako je Shape osnovna klasa koja pruža osnovnu implementaciju koja je zajednička za sve objekte njegove klase, to se može definirati virtualnom metodom, CalculateArea. Kvadrat može biti klasa izvedena iz oblika, koja može nadjačati metodu CalculateArea za implementaciju logike potrebne za izračunavanje kvadrata.
Za nadjačavanje metode u izvedenom razredu:
- Metoda u osnovnoj klasi mora biti deklarirana virtualnim modifikatorom.
- Metoda u osnovnoj klasi može biti apstraktna, ali ne i statična.
- Modifikator pristupa metode u osnovnim i izvedenim klasama trebao bi biti isti.
- Metoda bi se trebala definirati istim potpisom i u izvedenim i u osnovnim klasama.