Հիմնական տարբերություն – գերբեռնում ընդդեմ գերբեռնման Java-ում
Օբյեկտ-կողմնորոշված ծրագրավորումը (OOP) ծրագրային ապահովման մշակման հիմնական պարադիգմ է: Դա դասերի և օբյեկտների միջոցով ծրագիր նախագծելու մեթոդաբանություն է: Դասը նախագիծ է: Այն նկարագրում է, թե ինչ պետք է պարունակի առարկան: Այն սահմանում է հատկությունները կամ ատրիբուտները և մեթոդները, որոնցից պետք է կազմված լինի օբյեկտը: Հետևաբար, օբյեկտը դասի օրինակ է: Այս օբյեկտները շփվում են այլ օբյեկտների հետ: OOP-ի հիմնական հասկացություններից մեկը պոլիմորֆիզմն է: Սա օբյեկտի մի քանի ձևերով վարվելու ունակություն է: Պոլիմորֆիզմը դասակարգվում է երկու մասի, որոնք գերբեռնված են և գերակշռող:Այս հոդվածը քննարկում է Java-ում այս երկուսի միջև եղած տարբերությունը: Java-ում գերբեռնման և գերբեռնման հիմնական տարբերությունն այն է, որ գերբեռնումը տարբեր իրականացումներով նույնանուն մի քանի մեթոդներ ստեղծելու ունակությունն է, իսկ Overriding-ը ենթադաս մեթոդի իրականացում ապահովելն է, որն արդեն գոյություն ունի սուպերկլասում::
Ի՞նչ է գերբեռնումը Java-ում:
Գերբեռնումը տարբեր իրականացումներով նույնանուն բազմաթիվ մեթոդներ ստեղծելու ունակություն է: Տե՛ս ստորև բերված Java կոդը:
Նկար 01. Java ծրագիր, որը բացատրում է ծանրաբեռնվածությունը տարբեր թվով արգումենտներով
Ըստ վերը նշված ծրագրի՝ A դասը պարունակում է նույն անունով երկու մեթոդ։ Առաջին գումարման մեթոդն ունի երկու պարամետր. Երկրորդ գումարման մեթոդն ունի երեք պարամետր. A տիպի օբյեկտ ստեղծելիս և sum(2, 3) կանչելիս այն կկանչի sum մեթոդը երկու պարամետրով, որոնք sum(int a, int b) են և վերադարձնում է 5: A տիպի օբյեկտ ստեղծելիս և sum(2) կանչելիս:, 3, 4), այն կկանչի մյուս գումարման մեթոդը երեք պարամետրով, որը գումարն է (int a, int b, int c) և վերադարձնում է 9:
Մեթոդի անունը նույնն է, բայց պարամետրերի քանակը տարբեր է: Կարելի է նկատել, որ նույն առարկան այլ կերպ է վարվում։ Այս հայեցակարգը հայտնի է որպես գերբեռնվածություն: Այն նաև կոչվում է ստատիկ կապում կամ կազմում է ժամանակի պոլիմորֆիզմ:
Կարող է նաև ծանրաբեռնվել տվյալների տարբեր տեսակներով: Տե՛ս ստորև բերված Java կոդը:
Նկար 02. Java ծրագիր, որը բացատրում է ծանրաբեռնվածությունը տարբեր թվով արգումենտներով
Ըստ վերը նշված ծրագրի՝ A դասը բաղկացած է նույն անունով երկու մեթոդից։ sum(int a, int b) մեթոդը ստանում է երկու ամբողջ արժեք։ Գումարը (double a double b) ստանում է երկու կրկնակի արժեք: A տիպի օբյեկտ ստեղծելիս և գումարը (2, 3) կանչելիս այն կկանչի sum(int a, int b) և վերադարձնում է 5 արժեքը: Գումարը (3.4, 5.6) կանչելիս կկանչի sum (double a double): բ) և վերադարձրեք 9.0 արժեքը: Այս օրինակում մեթոդներն ունեն նույն անունը, բայց տարբեր տեսակի փոփոխականներ: Սա նույնպես ծանրաբեռնված է:
Ի՞նչ է Overriding-ը Java-ում:
Java-ում հնարավոր է ենթադասեր կառուցել արդեն գոյություն ունեցող դասերով։Սկզբից նոր դաս ստեղծելու փոխարեն հնարավոր է օգտագործել արդեն գոյություն ունեցող դասի հատկություններն ու մեթոդները։ Գոյություն ունեցող դասը գերդասն է, իսկ ստացված դասը՝ ենթադասը։ Երբ ենթադասը ապահովում է մեթոդի իրականացում, որն արդեն գտնվում է գերդասում, այն հայտնի է որպես գերակայող: Տե՛ս ստորև բերված Java ծրագիրը:
Գծապատկեր 03. Java ծրագիր՝ վերացնելու համար
Ըստ վերը նշված ծրագրի՝ A դասը ունի մեթոդի ցուցադրում(): B դասը տարածվում է A դասից, ուստի A դասի հատկությունները և մեթոդները հասանելի են B դասի կողմից:B դասը ունի մեթոդի ցուցադրում()՝ հատուկ իրականացմամբ: A տիպի օբյեկտ ստեղծելիս և ցուցադրման մեթոդը կանչելիս այն կտա B ելք: Թեև A դասն ունի ցուցադրման մեթոդ, այն վերագրվում է B դասի ցուցադրման մեթոդին: Ենթադասը իրականացնում է մի մեթոդ, որն արդեն գոյություն ունի գերդասարանում:
Այս հայեցակարգը պոլիմորֆիզմի տեսակ է և հայտնի է որպես գերակայող: Այն նաև կոչվում է ուշ կապում, դինամիկ կապում, վազքի ժամանակի պոլիմորֆիզմ:
Որո՞նք են նմանությունները գերբեռնման և գերբեռնման միջև Java-ում:
- Երկուսն էլ պոլիմորֆիզմի տեսակներ են։
- Գերբեռնման և վերագրման դեպքում մեթոդներն ունեն նույն անվանումը:
Ո՞րն է տարբերությունը Java-ում գերբեռնման և գերբեռնման միջև:
Գերբեռնում ընդդեմ գերբեռնման Java-ում |
|
Վերբեռնումը Java-ում տարբեր իրականացումներով նույնանուն բազմաթիվ մեթոդներ ստեղծելու ունակություն է: | Վերակայումը Java-ում ապահովում է ենթադասի մեթոդի հատուկ իրականացում սուպերկլասում արդեն գոյություն ունեցող մեթոդի համար: |
Պարամետրեր | |
Գերբեռնման ժամանակ մեթոդներն ունեն նույն անվանումը, բայց տարբեր թվով պարամետրեր կամ տարբեր տեսակի պարամետրեր: | Գերակայման դեպքում մեթոդներն ունեն նույն անվանումը և պարամետրերը պետք է լինեն նույնը: |
Թեմաներ | |
Գերբեռնում է տեղի ունենում դասարանում: | Գերակայումը տեղի է ունենում երկու դասերի մեջ, որոնք ունեն ժառանգական հարաբերություններ: |
Հոմանիշներ | |
Գերբեռնվածությունը կոչվում է կազմված ժամանակի պոլիմորֆիզմ: | Գերակայությունը կոչվում է գործարկման ժամանակի պոլիմորֆիզմ: |
Ամփոփում – գերբեռնում ընդդեմ գերբեռնման Java-ում
Պոլիմորֆիզմը հիմնական հասկացությունն է օբյեկտ կողմնորոշված ծրագրավորման մեջ: Այն ապահովում է օբյեկտի համար մի քանի ձևով վարվելու ունակություն: Սա կարող է լինել կամ գերծանրաբեռնված կամ գերակշռող: Գերբեռնումը կոմպիլյացիայի ժամանակի պոլիմորֆիզմն է, իսկ գերակշռողը՝ գործարկման ժամանակի պոլիմորֆիզմը։ Դրանք օգտակար են ծրագրային հավելվածների մշակման մեջ: Overriding-ի և overloading-ի միջև տարբերությունն այն է, որ գերբեռնումը տարբեր իրականացումներով նույնանուն մի քանի մեթոդներ ստեղծելու ունակություն է, իսկ Overriding-ը տրամադրում է հատուկ իրականացում ենթադասային մեթոդի համար, որն արդեն գոյություն ունի սուպերկլասում: Java-ում հնարավոր է իրականացնել և՛ գերբեռնում, և՛ գերբեռնում:
Ներբեռնեք PDF Overloading vs Overriding-ը Java-ում
Դուք կարող եք ներբեռնել այս հոդվածի PDF տարբերակը և օգտագործել այն անցանց նպատակներով՝ ըստ մեջբերումների: Խնդրում ենք ներբեռնել PDF տարբերակը այստեղ Java-ում գերբեռնման և վերացման միջև տարբերությունը