Разлика између прегласавања и преоптерећења у Ц #

Кључна разлика - Превладавање над вс Преоптерећење у Ц #
 

Тхе кључна разлика између прегласавања и преоптерећења у Ц # је то везивање прекораченог позива методе за његову дефиницију догађа се у току извођења, док се везивање преоптерећеног позива за његову дефиницију дешава у време компилације.

Ц # је програмски језик опште намене који је развио Мицрософт. Главна предност Ц # је што подржава објектно оријентисано програмирање (ООП). Један од стубова ООП-а је полиморфизам. Објекту даје вишеструко понашање. Постоје два типа полиморфизма позната као преоптерећење и преоптерећење. Овај чланак говори о разлици између прегласавања и преоптерећења методе у Ц #.

САДРЖАЈ

1. Преглед и кључне разлике
2. Шта је пресудно у Ц #
3. Шта је преоптерећење у Ц #
4. Сличности између прегласавања и преоптерећења у Ц #
5. Упоредно упоређивање - превладавање над преоптерећењем у Ц # у табеларном облику
6. Резиме

Шта је превладавање у Ц #?

Постоји још један важан концепт ООП-а - наслеђивање. То је коришћење атрибута и метода већ постојеће класе. Побољшава поновну употребу кода. Већ постојећа класа је основна класа, а нова класа је позната као изведена класа. У превладавању полиморфизма, треба постојати основна класа и изведена класа. Везивање прекинутог позива методе за дефиницију се дешава у току извођења. Пример је следећи.

Слика 01: Ц # програм са премошћивањем

Према горњем програму, класа Схапе је основна класа и садржи методу приказа. Класа Правокутник и Троугао су изведене класе. Ове изведене класе такође имају исти метод приказа са сопственим имплементацијама.

Прво се ствара референтна варијабла обј. Указује на објект Схапе. Дакле, приказати ће се метода приказа класе Схапе. Затим референтна варијабла упућује на објект Рецтангле. Дакле, приказати ће се метода приказа класе Рецтангле. Коначно, референтна варијабла упућује на објект Трокут. Дакле, приказати ће се метода приказа класе Триангле. Метода приказа основне базе надјачава методе приказивања изведених класа.

Начин извођења одлучује се током извођења. Класа облика је написана са кључном речју „виртуално“. Часови правокутника и троугла су написани кључном речју 'оверриде'. Ако се ове кључне речи не користе, излаз ће исписати садржај методе приказа класе Схапе за све.

Шта је преоптерећење у Ц #?

Код преоптерећења више метода има исти назив, али са различитим параметрима. Параметри могу бити различитих типова. Методе такође могу имати различит број параметара. Преоптерећење метода догађа се у истој класи. Везивање преоптерећених метода за дефиницију се дешава у време превођења. Погледајте доњи Ц # програм.

Слика 02: Ц # програм са преоптерећењем

Према горе наведеном програму, класа А има две методе са истим именом зване сум. Имају различите врсте параметара. У главном програму се ствара објект А. Збир (2,3) ће се позивати на методу са целим бројевима. Сумма (5.1, 7.94) ће са двоструким вредностима позивати методу суме. Обе методе имају исти назив и исти број параметара. Али типови параметара су различити. Потребна метода се позива према томе. До преоптерећења може доћи и ако су називи метода и типови параметара исти, али је број параметара различит.

Која је сличност између прегласавања и преоптерећења у Ц #?

  • И прегласавање и преоптерећење у Ц # су врсте полиморфизма.

Која је разлика између прегласавања и преоптерећења у Ц #?

Превладавање над Преоптерећење у Ц #

Прекорачење у Ц # је обезбеђивање специфичне имплементације у методи изведене класе за методу која већ постоји у основној класи. Преоптерећење у Ц # је стварање више метода са истим именом са различитим имплементацијама.
 Параметри
У Ц # Оверридинг, методе имају исти назив, исте типове параметара и исти број параметара. У Ц # Оверлоадинг, методе имају исти назив, али различит број параметара или различиту врсту параметара.
Појава
У Ц #, преклапање се догађа унутар основне класе и изведене класе. У Ц #, преоптерећење се догађа унутар исте класе.
 Време везивања
Везивање прекинутог позива методе на његову дефиницију дешава се током извођења. Везање преоптерећеног позива за његову дефиницију догађа се у време компилације.
Синоними
Поништавање се назива као време полиморфизма, динамички полиморфизам или касно везивање. Преоптерећење се назива саставити полиморфизам времена, статички полиморфизам или рано везивање.

Резиме - Превладавајући вс Преоптерећење у Ц #

Прекорачење и преоптерећење су две врсте полиморфизма. Разлика између прегласавања и преоптерећења у Ц # је у томе што се везивање позива за прекривени метод за његову дефиницију дешава у току извођења, док се везивање преоптерећеног позива за његову дефиницију дешава у време компилације..

Референце:

1.Кумар, Мукесх. Ц # угао. Доступно овде
2.туториалспоинт.цом. „Ц # полиморфизам.“ ТуториалсПоинтДоступно овде
3.туториалспоинт.цом. „Типови података Ц #.“ ТуториалсПоинт, доступно овде