Разлика между виртуалния и абстрактния метод

Ключова разлика: Абстрактните методи са методите, които са декларирани, но нямат реализация. Използват се виртуални методи за прилагане на полиморфизъм, базиран на типа. Извлеченият клас има гъвкавост при повторното прилагане на виртуалния метод на базовия клас, като използва ключовата дума 'override'.

В C #, ключовата дума abstract може да се използва както с класове, така и с методи. Абстрактните методи са тези методи, които нямат никаква форма на реализация. Въпреки това, логиката на реализация се получава от не-абстрактните класове, получени от тях. Това се постига чрез отмяна на този метод. Поради липсата на реално изпълнение, тялото на метода остава празно. Важно е да се отбележи, че обявяването на абстрактен метод е възможно само в абстрактен клас. Класовете, които не могат да бъдат инициализирани, са известни като абстрактни класове. Клас, който наследява от абстрактен клас, трябва да приложи всички методи, обявени като абстрактни в абстрактния клас.

Например -

публичен абстрактен клас exampleAbstractClass

{

публично абстрактно void exampleabstractMethod ();

публичен виртуален void nonAbstractMethod ()

{

Console.WriteLine ("Изпълнението е дефинирано в метода");

}

class normalNonAbstractClass: exampleAbstractClass

{

обществено отмяна void exampleabstractMethod ()

{

Console.WriteLine ("Презаписване на exampleabstractMethod на класа exampleAbstractClass");

}

}

Virtual също е ключова дума, която е свързана с модификация на метод, собственост, индексатор или декларация за събитие. Използването на тази ключова дума позволява модифициране на декларирания обект в производен клас. В този пример, извлеченият клас е заменил виртуалния метод, деклариран в базовия клас.

клас База

{

публичен виртуален void Test ()

{

Console.WriteLine ( "Base.Test");

}

}

клас Извлечен: База

{

обществен отмяна void Test ()

{

Console.WriteLine ( "Derived.Test");

}

}

Използват се виртуални методи за прилагане на полиморфизъм, базиран на типа. Извлеченият клас има гъвкавост при повторното прилагане на виртуалния метод на базовия клас, като използва ключовата дума override. И виртуалният, и абстрактният не могат да се използват заедно със статични или виртуални модификатори или модифициращи функции.

Сравнение между виртуалния и абстрактния метод:

Виртуален метод

Абстрактен метод

дефиниция

Използват се виртуални методи за прилагане на полиморфизъм, базиран на типа.

Абстрактните методи са методите, които са декларирани, но нямат реализация.

изпълнение

Да, може да има изпълнение

Не, не може да има изпълнение

Трябва да бъде отменено

Не е задължително

задължителен

Ключовата дума, използвана за разграничаване от други методи

Виртуален

абстрактен

клас

Виртуалният метод, съдържащ клас, може да бъде инстанциран.

Клас, съдържащ абстрактен метод, не може да бъде инстанциран. Тя може да се наследи само.

Обхват

Обхват на виртуалния метод само за членовете.

Обхват на абстрактния метод за членове и класове.

Метод, който трябва да бъде изпълнен (тип клас на обектна база)

Родителската реализация ще бъде извиквана само в случай, че в конкретния клас не е предвидено изпълнение.

Конкретно изпълнение

Метод, който трябва да бъде изпълнен (обект-конкретен тип клас)

Конкретно изпълнение

Конкретно изпълнение

Препоръчано

Свързани Статии

  • популярни сравнения: Разлика между Pokemon черно и бяло

    Разлика между Pokemon черно и бяло

    Ключова разлика: черно-белият Pokemon бе пуснат на 18 септември 2010 г. в Япония. Това е втората най-популярна видео игра в света, разработена от Game Freak и публикувана от Nintendo за Nintendo DS. Знаете ли кой е Pokemon? Pokemon са измислени анимационни герои, които са проектирани и публикувани от японската компа
  • популярни сравнения: Разлика между оператора за въвеждане на данни и компютърния оператор

    Разлика между оператора за въвеждане на данни и компютърния оператор

    Ключова разлика: Операторът за въвеждане на данни въвежда данните в компютърна система по бърз и ефективен начин. На компютърен оператор се възлага задачата да наблюдава и контролира компютрите, използвани в организацията или фирмата. Операторът за въвеждане на данни е отговорен за въвеждане на данни в компютърна система, докато на оператора на компютър е възложена задачата да наблюдава и контролира компютрите, използвани в орг
  • популярни сравнения: Разлика между размери A4 и Letter Paper

    Разлика между размери A4 и Letter Paper

    Основна разлика: двата размера хартия се използват за различни цели в различни страни. Документът А4 е част от серията „ISO 216“, а хартията „Писмо“ е част от стария „Американски национален институт за стандарти“. A4 е международно признат размер на хартията, който е с ширина 8, 27 инча и височина 11, 69 инча. Всички размери “А” имат аспектно съотношение 1: (2 (квадратен корен от 2). Н
  • популярни сравнения: Разлика между всекидневната и трапезарията

    Разлика между всекидневната и трапезарията

    Ключова разлика: В днешния контекст и дневната, и дневната се отнасят до стая в жилищна сграда, която се използва за отдих, общуване и забавление на гостите. Въпреки това, терминът хол е измислен през 19-ти век и се счита за разширение на терминална зала, която е съществувала през 16-ти век. Къщата предоставя не само подслон на хората, които живеят в нея, но и отразява начина на живот на човека. Къщите са многобройни и могат да съдържат произволен брой стаи. Стаите се използват за различни цели и по този начин се на
  • популярни сравнения: Разлика между растер и вектор

    Разлика между растер и вектор

    Ключова разлика: Растерните изображения използват различни цветни пиксели, които са подредени по начин, който показва изображение. Векторното изображение се състои от пътеки, всяка с математическа формула, известна също като вектор, която указва на пътя как е оформена всяка част от изображението и какъв цвят е оградена или запълнена. Растерът и векторът са два различни начина за съставяне на компютърна графика. Основната разлика между растер и вектор е, че растерното изображение е съставено от пиксели, докато векторното изображение е съставено от пътища. Растерните изображения се произвеждат от
  • популярни сравнения: Разлика между актьор и актриса

    Разлика между актьор и актриса

    Ключова разлика: Актьорът е човек, който действа. Действието е по същество изображение на друг човек или характер. Актьорът основно действа в драматично или комично производство, независимо дали е във филми, телевизия, театър или радио. Актриса се отнася до женски актьор. Актьорът е човек, който действа. Действието е по същество изображение на друг човек или характер. Актьорът основно действа в драматично или комично производс
  • популярни сравнения: Разлика между Creche и Рождество Христово

    Разлика между Creche и Рождество Христово

    Ключова разлика: В християнството, Creche и сцена на Рождество Христово се считат за синоними. Те представляват раждането на Исус Христос. За да се представи този случай, обикновено се използва набор от закони и тази сцена обикновено се показва по време на коледния сезон. Като цяло, Creche се отнася до място, където малките деца се грижат за деня в отсъствието на родители. Тя включва деца от широк кръг възрастови групи, включително млади бебета, малки деца и предучилищни деца. Рождест
  • популярни сравнения: Разлика между фърмуера и ROM

    Разлика между фърмуера и ROM

    Основна разлика : Firmware е набор от инструкции или програми, написани на машинен език, които се използват за управление на електронни устройства. ROM е вид вграден чип с памет, който може да съхранява и съхранява данни в електронно устройство. Електронните устройства се състоят от три основни части: хардуер, фърмуер и софтуер. Всичките три са необходими за всяко устройство. Други устройства като RAM, ROM и др., Използвани в устр
  • популярни сравнения: Разлика между безразсъдно и импулсивно

    Разлика между безразсъдно и импулсивно

    Ключова разлика: безразсъдните и импулсивни са два термина, които се използват за означаване на неточно или неточно състояние. Безразсъден е човек, който е много небрежен; действие или задача, извършена без никакви мисли за последствията. Като има предвид, че импулсивен е човек, който вероятно действа или извършва дейност, без внимателно да мисли за това. „Reckless“ и „Impulsive“ са два термина, които се използват за означаване на

Избор На Редактора

Разлика между Microsoft Office и Open Office

Ключова разлика: Microsoft Office е пакет от различни приложения, сървъри и услуги, разработен от Microsoft Company за Windows и Mac OS X операционни системи през 1989 година. OpenOffice е свободен софтуер с отворен код, който е достъпен за всички, които се изтеглят на пазара. Microsoft Office и OpenOffice предлагат продукти, които се използват за подобни цели. И двете системи обаче се различават. Microsoft Office принадлежи на компанията Mi