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

Ключова разлика - преодоляване срещу Претоварването в C #
 

Най- ключова разлика между преодоляване и претоварване в C # е това обвързването на надвишен метод за повикване към неговата дефиниция се случва по време на изпълнение, докато обвързването на претоварено извикване на метод към неговото определение се случва по време на компилиране.

C # е език за програмиране с общо предназначение, разработен от Microsoft. Основното предимство на C # е, че поддържа обектно ориентирано програмиране (OOP). Един стълб на OOP е полиморфизмът. Дава обект да има множество поведения. В полиморфизма има два вида, известни като преодоляване и претоварване. Тази статия обсъжда разликата между преодоляване на метода и претоварване в C #.

СЪДЪРЖАНИЕ

1. Преглед и ключова разлика
2. Какво е по-важно в C #
3. Какво е претоварване в C #
4. Прилики между преодоляване и претоварване в C #
5. Паралелно сравнение - преодоляване срещу претоварване в C # в таблична форма
6. Резюме

Какво е по-важно в C #?

Има още едно важно понятие в OOP е наследяването. Тя е да се използват атрибути и методи на вече съществуващия клас. Подобрява повторното използване на кода. Вече съществуващият клас е базовият клас, а новият клас е известен като производен клас. При преобладаване на полиморфизма трябва да има базов клас и производен клас. Обвързването на надписания метод на определението се случва по време на изпълнение. Пример е следният.

Фигура 01: Програма C # с преодоляване

Според горната програма, клас Shape е базовият клас и съдържа метода на показване. Клас правоъгълник и триъгълник са производни класове. Тези производни класове също имат същия метод на показване със собствени реализации.

Първо се създава референтната променлива obj. Той сочи обекта Shape. Така методът на показване на клас Shape ще се изпълни. След това референтната променлива насочва към обекта Rectangle. Така че методът на показване на клас Rectangle ще се изпълни. И накрая, референтната променлива сочи към обекта Триъгълник. Така че методът на показване на клас Триъгълник ще се изпълни. Методът за показване на базовия клас се отменя от методите за показване на производни класове.

Методът за изпълнение се решава по време на изпълнение. Класът Shape е написан с ключова дума „virtual“. Класовете правоъгълник и триъгълник са написани с ключова дума 'override'. Ако тези ключови думи не се използват, изходът ще отпечата съдържанието на метода на показване на клас Shape за всички.

Какво е претоварване в C #?

При претоварване няколко метода имат едно и също име, но с различни параметри. Параметрите могат да бъдат от различни видове. Методите могат да имат и различен брой параметри. Претоварването на метода се случва в същия клас. Обвързването на претоварените методи към дефиницията се случва по време на компилиране. Вижте по-долу C # програмата.

Фигура 02: Програма C # с претоварване

Според горната програма, клас A има два метода със същото име, наречени sum. Те имат различни видове параметри. В основната програма се създава обект на А. Сумата (2,3) ще извика метода на сумата с цели числа. Сумата (5.1, 7.94) ще извика метода на сумата с двойни стойности. И двата метода имат едно и също име и същия брой параметри. Но типовете параметри са различни. Необходимият метод се нарича съответно. Презареждане може да възникне и ако имената на методите и типовете параметри са еднакви, но броят на параметрите е различен.

Какво е сходството между преодоляване и претоварване в C #?

  • И преодоляването, и претоварването в C # са видове полиморфизъм.

Каква е разликата между преодоляване и претоварване в C #?

Преодоляване срещу претоварване в C #

Преопределянето в C # е да се осигури специфична реализация в метод на производен клас за метод, който вече съществува в базовия клас. Претоварването в C # е да се създадат множество методи с едно и също име с различни реализации.
 Параметри
В C # Overriding методите имат едно и също име, същите типове параметри и същия брой параметри. В C # Overloading методите имат същото име, но различен брой параметри или различен тип параметри.
явление
В C #, преопределянето се случва в рамките на базовия клас и производния клас. В C #, претоварването става в един и същи клас.
 Време за обвързване
Обвързването на надписания метод за неговото определение се случва по време на изпълнение. Обвързването на претовареното извикване на метода към неговото определение се случва по време на компилация.
Синоними
Преопределянето се нарича като продължителност на полиморфизма, динамичен полиморфизъм или късно свързване. Претоварването се нарича като съставете полиморфизъм във времето, статичен полиморфизъм или ранно свързване.

резюме - Преодоляване срещу Претоварването в C #

Преодоляването и претоварването са два вида полиморфизъм. Разликата между преодоляване и претоварване в C # е, че обвързването на извикания метод на преопределен метод към неговата дефиниция се случва по време на изпълнение, докато обвързването на повикването на претоварения метод към неговата дефиниция се случва по време на компилиране.

справка:

1.Кумар, Мукеш. C # ъгъл. Налични тук
2.tutorialspoint.com. „C # Полиморфизъм.“ TutorialsPointНалични тук
3.tutorialspoint.com. „Видове данни за C #.“ TutorialsPoint, Достъпни тук