c using statement c virtual method tutorial with examples
Ovaj produbljeni vodič objašnjava sve o C # korištenjem izjave i virtualne metode. Također ćete naučiti razliku između apstraktnih i virtualnih metoda:
Blok Upotreba uglavnom pomaže u upravljanju resursima, a omogućuje sustavu upravljanje resursima određivanjem opsega objekta i zahtjeva za resursima.
.Net Framework nudi različite načine upravljanja resursima za objekte koji koriste sakupljač smeća. To znači da ne trebate izričito dodijeliti i ukloniti memorijske objekte. Čišćenje bilo kojeg neupravljanog objekta obavljat će se pomoću destruktora.
Da bi pomogao programerima da to postignu, naredba C # using daje uvjet za uništavanje objekta.
=> Ovdje pogledajte besplatni vodič za obuku za C # .
Da bi postigao automatsko uništavanje objekta, C # nudi metodu raspolaganja koja se može pozvati kada objekt više nije potreban. Izjava using u C # definira uvjetnu granicu postojanja objekta. Jednom kada sekvenca izvršavanja napusti granicu korištenja, .Net framework će znati da je vrijeme da uništi taj objekt.
Što ćete naučiti:
C # Korištenje izjave
Implementirati sučelje za jednokratnu upotrebu za upotrebu
Izjava C # Using omogućuje programerima da implementiraju nekoliko resursa u jednu izjavu. Svi objekti definirani unutar bloka koda koji koriste trebaju implementirati sučelje IDisposable, a to omogućava okviru da pozove metode raspolaganja za navedene objekte unutar izraza nakon što izađe.
Primjer
Korištenje izraza može se kombinirati s vrstom koja može implementirati IDisposable poput StreamWriter, StreamReader itd.
Pogledajmo jednostavan program:
public class Program { public static void Main(string[] args) { using (SysObj so = new SysObj()) { Console.WriteLine('Inside using statement'); } Console.WriteLine('Outside of the using statement block'); } } class SysObj : IDisposable { public void Dispose() { Console.WriteLine('Dispose method'); } }
Izlaz
Rezultat gore navedenog programa:
Iznutra pomoću izjave
Metoda odlaganja
Izvan bloka naredbi using
Obrazloženje
U gornjem primjeru, kada se program izvršava, prvo se instanca “SysObj” dodjeljuje u hrpu memorije. Tada blok using počinje izvršavati i ispisuje izlaz koji smo definirali unutar konzole. Dalje, kako blok naredbe Using prelazi, izvršenje se odmah prenosi na metodu raspolaganja.
Tada kôd izlazi iz bloka izraza i ispisuje vanjski izraz na konzolu.
zadani pristupnik nije dostupan ethernet
C # virtualna metoda
Što je virtualna metoda?
Virtualna metoda je metoda klase koja programeru nudi funkcionalnost za nadjačavanje metode u izvedenoj klasi koja ima isti potpis. Virtualne metode uglavnom se koriste za izvođenje polimorfizma u OOP okruženju.
Virtualna metoda može imati implementaciju i u izvedenim i u osnovnim klasama. Uglavnom se koristi kada korisnik treba imati više funkcionalnosti u izvedenoj klasi.
Virtualna metoda prvo se kreira u osnovnoj klasi, a zatim se poništava u izvedenoj klasi. Virtualna metoda može se stvoriti u osnovnoj klasi pomoću ključne riječi 'virtual', a ista metoda može se nadjačati u izvedenoj klasi pomoću ključne riječi 'override'.
Virtualne metode: Nekoliko točaka koje treba zapamtiti
- Virtualna metoda u izvedenoj klasi ima ključnu riječ virtual, a metoda u izvedenoj klasi trebala bi imati nadjačanu ključnu riječ.
- Ako je metoda deklarirana kao virtualna metoda u osnovnoj klasi, tada izvedena klasa ne mora uvijek nadjačati tu metodu, tj. Nije obavezna nadjačati virtualnu metodu u izvedenoj klasi.
- Ako metoda ima istu definiciju i u osnovnoj i u izvedenoj klasi, tada nije potrebno nadjačati je. Zamjena je potrebna samo ako obje imaju različitu definiciju.
- Nadređena metoda omogućuje nam da koristimo više oblika za istu metodu, stoga pokazuje i polimorfizam.
- Sve metode prema zadanim postavkama nisu virtualne.
- Virtualni modifikator ne može se koristiti zajedno s privatnim, statičkim ili apstraktnim modifikatorima.
Čemu služi virtualna ključna riječ u jeziku C #?
Virtualna ključna riječ u C # koristi se za nadjačavanje člana osnovne klase u izvedenoj klasi na temelju zahtjeva.
Virtualna ključna riječ koristi se za specificiranje virtualne metode u osnovnoj klasi, a metodi s istim potpisom koju treba nadjačati u izvedenoj klasi prethodi ključna riječ override.
Razlika između apstraktne metode i virtualne metode
Virtualne metode sadrže implementaciju i dopuštaju izvedenoj klasi da je nadjača, dok apstraktna metoda ne nudi nikakvu implementaciju i prisiljava programere da napišu metode nadjačavanja u izvedenoj klasi.
Stoga, jednostavnim riječima, apstraktne metode nemaju koda u sebi, dok virtualna metoda ima vlastitu implementaciju.
pitanja i odgovori za intervju za oracle pl sql
Razlika između virtualnog i poništavanja u C #
Virtualnu ključnu riječ obično prati potpis metode, svojstva itd. I omogućuje je nadjačavanje u izvedenoj klasi. Ključna riječ override koristi se u izvedenoj klasi s istom metodom / potpisom svojstva kao u osnovnoj klasi kako bi se postiglo poništavanje u izvedenoj klasi.
Je li obvezno nadjačati virtualnu metodu u C #?
Kompajler nikada neće prisiliti programere da nadjačaju virtualnu metodu. Izvedena klasa nije uvijek potrebna da nadjača virtualnu metodu.
Primjer
Pogledajmo primjer kako bismo jasnije razumjeli virtualne metode.
U ovom primjeru koristit ćemo dvije različite metode u osnovnoj klasi, prva je ne-virtualna metoda, a druga virtualna metoda s virtualnom ključnom riječi. Obje ove metode bit će poništene u izvedenoj klasi.
Pogledajmo:
Program
using System; public class Program { public static void Main(string[] args) { calculate calc = new calculate (); numbers nmbr = calc; calc.addition(); nmbr.addition(); calc.subtraction(); nmbr.subtraction(); } } public class numbers { public void addition(){ Console.WriteLine('This is addition method'); } public virtual void subtraction(){ Console.WriteLine('This is subtraction method'); } } public class calculate : numbers { public void addition(){ Console.WriteLine('This is addition method in the derived class'); } public override void subtraction(){ Console.WriteLine('This is subtraction method override in derived class'); } }
Izlaz
Rezultat gornjeg programa je:
Ovo je metoda zbrajanja u izvedenoj klasi
Ovo je metoda zbrajanja
Ovo je nadjačavanje metode oduzimanja u izvedenoj klasi
Ovo je nadjačavanje metode oduzimanja u izvedenoj klasi
Obrazloženje
U gornjem primjeru imamo dvije klase, tj. Broj i Izračun. Osnovna klasa Number ima dvije metode, tj. Zbrajanje i oduzimanje, pri čemu je zbrajanje ne virtualna metoda, a oduzimanje virtualna metoda. Stoga, kada izvršavamo ovaj program, virtualna metoda 'dodavanje' osnovne klase poništava se u izvedenoj klasi Izračunaj.
U drugoj klasi „Program“ kreiramo ulaznu točku kako bismo stvorili instancu izvedene klase Calculate, a zatim dodijelimo istu instancu objektu instance osnovne klase.
Kada virtualne i ne-virtualne metode pozivamo pomoću instanci klase, tada vidimo da je virtualna metoda nadjačana korištenjem obje instance, dok je ne-virtualna metoda nadjačana samo tijekom pozivanja izvedene klase.
Zaključak
Izjava using u C # uglavnom se koristi za upravljanje resursima. Naredba using definira uvjetnu granicu postojanja objekta.
Jednom kada se izvršenje pomakne iz bloka naredbi, govori okviru da uništi bilo koji objekt koji je stvoren unutar bloka izraza. Kôd definiran unutar izraza trebao bi također implementirati sučelje za jednokratnu upotrebu kako bi se .Net okviru omogućio poziv metode raspolaganja za definirane objekte.
Virtualna metoda omogućuje korisniku da nadjača metodu u izvedenoj klasi koja ima isti potpis kao metoda u osnovnoj klasi. Virtualna metoda može se koristiti za postizanje polimorfizma u objektno orijentiranim programskim jezicima.
Virtualna metoda uglavnom se koristi kada je u izvedenoj klasi potrebna dodatna funkcionalnost. Virtualne metode ne mogu biti privatne statičke ili apstraktne. Definira se upotrebom virtualne ključne riječi u osnovnoj klasi i nadjačavanjem ključne riječi u izvedenoj klasi.
=> Ovdje pripazite na detaljne tutorijale za obuku za C #
Preporučena literatura
- Python DateTime Vodič s primjerima
- Selen Pronađi element pomoću udžbenika teksta s primjerima
- MongoDB metoda sortiranja () s primjerima
- MongoDB dokument upita pomoću metode Find () (primjeri)
- Primjena pokazivača u MongoDB-u s primjerima
- C # klase i objekti: produbljeni vodič s primjerima
- Vodič za skripte za Unix Shell sa primjerima
- Vodič za rukovanje iznimkama za C # s primjerima koda