c using statement c virtual method tutorial with examples
Този задълбочен урок обяснява всичко за C #, като използва изявление и виртуален метод. Също така ще научите разликата между абстрактните и виртуалните методи:
Блокът Използване главно помага при управлението на ресурси, той позволява на системата да управлява своите ресурси, като посочва обхвата на обекта и неговите изисквания за ресурси.
.Net Framework предлага различни начини за управление на ресурси за обекти, използващи събирач на боклук. Това означава, че не е нужно изрично да разпределяте и премахвате обекти от паметта. Операцията за почистване на неуправляван обект ще бъде обработена с помощта на деструктор.
За да помогне на програмистите да постигнат това, инструкцията за използване на C # предоставя условие за унищожаване на обекта.
=> Вижте безплатното ръководство за обучение на C # тук .
За да се постигне автоматично унищожаване на обекта, C # предлага метод за изхвърляне, който може да бъде извикан, когато обектът вече не се изисква. Операторът using в C # дефинира условна граница за съществуването на обекта. След като последователността на изпълнение напусне използваната граница, .Net рамката ще знае, че е време да унищожи този обект.
Какво ще научите:
C # Използване на изявление
Внедрете интерфейс за еднократна употреба за използване
Изразът C # Използване позволява на програмистите да внедрят няколко ресурса в един израз. Всички обекти, дефинирани вътре в използващия кодов блок, трябва да реализират интерфейса IDisposable и това позволява на рамката да извиква методите на разположение за посочените обекти вътре в оператора, след като бъде излязъл.
Пример
Използването на изрази може да се комбинира с тип, който може да внедри IDisposable като StreamWriter, StreamReader и др.
Нека да разгледаме проста програма:
примерна автобиография за опитен софтуерен тестер
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'); } }
Изход
Резултатът от горната програма:
Вътре с помощта на изявление
Метод на изхвърляне
Извън блока с инструкции за използване
Обяснение
В горния пример, когато програмата се изпълнява, първо „SysObj“ екземпляр се разпределя в купчината памет. След това използващият блок започва да изпълнява и отпечатва изхода, който сме дефинирали в конзолата. На следващо място, когато блокът с инструкции се преодолее, изпълнението незабавно се прехвърля към метода на разположение.
След това кодът излиза от блока на оператора и отпечатва външния оператор в конзолата.
C # Виртуален метод
Какво е виртуален метод?
Виртуалният метод е метод на клас, който предлага функционалност на програмиста, за да замени метод в производния клас, който има същия подпис. Виртуалните методи се използват главно за извършване на полиморфизъм в околната среда на ООП.
Виртуалният метод може да има изпълнение както в производни, така и в базови класове. Използва се главно, когато потребителят трябва да има повече функционалност в производния клас.
Виртуален метод първо се създава в основен клас и след това се заменя в производния клас. Виртуален метод може да бъде създаден в основния клас с помощта на ключовата дума „virtual“ и същият метод може да бъде заменен в производния клас с помощта на ключовата дума „override“.
Виртуални методи: Малко точки за запомняне
- Виртуалният метод в производния клас има виртуална ключова дума, а методът в производен клас трябва да има ключова дума за замяна.
- Ако методът е деклариран като виртуален метод в базовия клас, тогава не винаги се изисква от производния клас да замени този метод, т.е. не е задължително да замени виртуален метод в производния клас.
- Ако методът има една и съща дефиниция както в базовия, така и в производния клас, тогава не се изисква да замени метода. Замяна се изисква само ако и двете имат различна дефиниция.
- Заменящият метод ни позволява да използваме повече от една форма за един и същ метод, следователно той също показва полиморфизъм.
- Всички методи по подразбиране не са виртуални.
- Виртуален модификатор не може да се използва заедно с частни, статични или абстрактни модификатори.
Каква е ползата от виртуалната ключова дума в C #?
Виртуалната ключова дума в C # се използва, за да замени члена на базовия клас в неговия производен клас въз основа на изискването.
как да играя mkv файл на windows
Виртуална ключова дума се използва за задаване на виртуалния метод в базовия клас, а методът със същия подпис, който трябва да бъде заменен в производния клас, се предшества от ключова дума за замяна.
Разлика между абстрактния метод и виртуалния метод
Виртуалните методи съдържат реализация и позволяват на производния клас да я отмени, докато абстрактният метод не предлага никаква реализация и принуждава програмистите да пишат методи за заместване в производния клас.
Следователно, с прости думи, абстрактните методи нямат никакъв код вътре, докато виртуалният метод има собствена реализация.
Разлика между виртуална и замяна в C #
Виртуалната ключова дума обикновено е последвана от подписа на метода, свойството и т.н. и позволява тя да бъде заменена в производния клас. Ключовата дума override се използва в производния клас със същия метод / свойство подпис като в базовия клас, за да се постигне заместване в производния клас.
Задължително ли е да се замени виртуалният метод в C #?
Компилаторът никога няма да принуди програмистите да заменят виртуален метод. Не винаги се изисква от производния клас да замени виртуалния метод.
Пример
Нека да разгледаме един пример, за да разберем по-ясно виртуалните методи.
В този пример ще използваме два различни метода в базовия клас, първият е невиртуален метод, а другият е виртуален метод с виртуалната ключова дума. И двата метода ще бъдат заменени в производния клас.
Нека да разгледаме:
Програма
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'); } }
Изход
Резултатът от горната програма е:
Това е метод на добавяне в производния клас
Това е метод на добавяне
Това е заместване на метода на изваждане в производен клас
Това е заместване на метода на изваждане в производен клас
инструменти за автоматизиране на тестове за мобилни приложения
Обяснение
В горния пример имаме два класа, т.е.брой и изчисли. Базовият клас Number има два метода, т.е.събиране и изваждане, където събирането е невиртуален метод, а изваждането е виртуален метод. Следователно, когато изпълняваме тази програма, виртуалният метод „добавяне“ на базовия клас е заменен в производния клас Calculate.
В друг клас „Програма“ създаваме входна точка, за да създадем екземпляр на извлечения клас Calculate и след това присвояваме същия екземпляр на обекта на екземпляра на базовия клас.
Когато извикваме виртуалните и невиртуалните методи, като използваме екземплярите на класа, тогава виждаме, че виртуалният метод е заменен чрез използване и на двата екземпляра, докато невиртуалният метод е заменен само при извикване на производния клас.
Заключение
Операторът за използване в C # се използва главно за управление на ресурси. Операторът using определя условна граница за съществуването на обект.
След като изпълнението се премести от блока на инструкциите, той казва на рамката да унищожи всеки обект, който е създаден вътре в блока на инструкциите. Кодът, дефиниран в оператора, също трябва да реализира интерфейс за еднократна употреба, за да позволи на .Net рамката да извика метода dispose за дефинираните обекти.
Виртуален метод позволява на потребителя да замени метод в производния клас, който има същия подпис като метода в основния клас. Виртуалният метод може да се използва за постигане на полиморфизъм в обектно-ориентираните програмни езици.
Виртуален метод се използва главно, когато се изисква допълнителна функционалност в производния клас. Виртуалните методи не могат да бъдат частни статични или абстрактни. Той се дефинира чрез използване на виртуална ключова дума в базовия клас и замяна на ключова дума в производния клас.
=> Внимавайте тук за задълбочени уроци за обучение на C #
Препоръчително четене
- Урок за Python DateTime с примери
- Намиране на елемент от селен чрез урок с текст с примери
- Метод за сортиране на MongoDB () с примери
- Документ за заявка MongoDB, използващ метода Find () (примери)
- Използване на курсора в MongoDB с примери
- C # класове и обекти: задълбочен урок с примери
- Урок за скриптове на Unix Shell с примери
- C # Урок за обработка на изключения с примери за кодове