Објектно оријентисано програмирање (ООП) главна је парадигма у развоју софтвера. То је методологија за дизајн програма користећи класе и објекте. Класа је нацрт. Описује шта треба садржавати у објекту. Дефинише својства или атрибуте и методе из којих би се објект требао састојати. Стога је објект инстанца класе. Ови објекти комуницирају са другим објектима. Један главни концепт ООП је полиморфизам. То је способност да се објект понаша на више начина. Полиморфизам је категорисан у два одељка који су преоптерећени и превладавају. Овај чланак говори о разлици између ова два на Јави. Тхе кључна разлика између преоптерећења и прегласавања на Јави је да је Преоптерећење је способност креирања више метода истог имена са различитим имплементацијама, а Оверридинг је давање имплементације за метод подразреда који већ постоји у надкласи.
1. Преглед и кључне разлике
2. Шта је преоптерећење у Јави
3. Шта је превладавање у Јави
4. Сличности између преоптерећења и прегласавања у Јави
5. Упоредно упоређивање - Преоптерећење вс Превладавање у Јави у табеларном облику
6. Резиме
Преоптерећење је способност креирања више метода истог имена са различитим имплементацијама. Погледајте доњи Јава код.
Слика 01: Јава програм који објашњава Преоптерећење различитим бројем аргумената
Према горе наведеном програму, класа А садржи две методе са истим називом. Метода прве суме има два параметра. Метода друге суме има три параметра. Када креирате објект типа А и зброј позива (2,3), он ће позвати методу са два параметра који су зброј (инт а, инт б) и враћа 5. Приликом стварања објекта типа А и суме позива (2 , 3,4), позваће другу методу са три параметра која је сума (инт а, инт б, инт ц) и враћа 9.
Назив методе је исти, али број параметара се разликује. Може се приметити да се исти објект понаша другачије. Овај концепт је познат и као преоптерећење. Такође се помиње Статиц Биндинг или Компилира временски полиморфизам.
Такође може бити преоптерећено различитим типовима података. Погледајте доњи Јава код.
Слика 02: Јава програм који објашњава Преоптерећење различитим бројем аргумената
Према горе наведеном програму, класа А се састоји од две методе са истим називом. Метода сум (инт а, инт б) добија две целобројне вредности. Збир (двоструко дупли б) добија две двоструке вредности. Када креирате објект типа А и зброј позива (2,3), он ће позвати суму (инт а, инт б) и вратити вредност 5. Када позове суму (3.4, 5.6), позваће суму (двоструко дупло б) и врати вредност 9.0. У овом примеру методе имају исто име, али различиту врсту променљивих. Ово је такође преоптерећено.
У Јави је могуће градити поткласе с већ постојећим класама. Уместо да се креира нова класа од почетка, могуће је користити својства и методе већ постојеће класе. Постојећа класа је суперкласа, а изведена класа је подразред. Када подразред пружа имплементацију за метод који се већ налази у суперкласи, познат је као превладавање. Погледајте нижи Јава програм.
Слика 03: Јава програм за прегласавање
Према горе наведеном програму, класа А има приказ метода (). Класа Б се протеже од класе А, тако да су својства и методе класе А доступне класи Б. Класа Б има приказ метода () са одређеном имплементацијом. Приликом креирања објекта типа А и позивања методе приказивања он ће дати излаз Б. Иако класа А има методу приказа, он ће бити поништен методом приказа класе Б. Подкласа имплементира методу који већ постоји у суперкласи.
Овај концепт је врста полиморфизма и познат као превладавајући. Такође се назива и Касно везивање, Динамиц Биндинг, Рунтиме Полиморпхисм.
Преоптерећење вс Превладавање у Јави | |
Преоптерећење у Јави је могућност креирања више метода истог имена са различитим имплементацијама. | Надјачавање у Јава-у пружа специфичну имплементацију у методи подразреда за методу који већ постоји у надкласи. |
Параметри | |
Код преоптерећења методе имају исти назив, али различит број параметара или различиту врсту параметара. | Код прегласавања, методе имају исти назив, а параметри морају бити исти. |
Теме | |
До преоптерећења долази унутар класе. | Превазилажење се дешава унутар две класе које имају наследни однос. |
Синоними | |
Преоптерећење се зове састављени временски полиморфизам. | Превладавање назива се полиморфизмом у току времена. |
Полиморфизам је главни концепт објектно оријентисаног програмирања. Омогућује могућност да се објект понаша на више начина. Ово може бити или преоптерећење или превладавање. Преоптерећење је полиморфизам времена компилације, а прегласавање је полиморфизам током извршења. Они су корисни у развоју софтверских апликација. Разлика између прегласавања и преоптерећења је у томе што је Преоптерећење способност стварања вишеструких метода истог назива са различитим имплементацијама, а Оверридинг пружа специфичну имплементацију у методи подразреда за методу која већ постоји у надкласи. У Јави је могуће имплементирати и преоптерећење и прегласавање.
Можете преузети ПДФ верзију овог чланка и користити је за оффлине употребу према напомени. Молимо преузмите ПДФ верзију овде. Разлика између преоптерећења и прегласавања на Јави
1.туториалспоинт.цом. „Превладавање Јава.“ Поента. Доступно овде
2. „Преоптерећење метода у Јави - Јаватпоинт.“ Доступно овде
3. "Прегласавање метода у Јави - јаватпоинт." Доступно овде