Տարբերությունը պոլիմորֆիզմի և ժառանգության միջև OOP-ում

Բովանդակություն:

Տարբերությունը պոլիմորֆիզմի և ժառանգության միջև OOP-ում
Տարբերությունը պոլիմորֆիզմի և ժառանգության միջև OOP-ում

Video: Տարբերությունը պոլիմորֆիզմի և ժառանգության միջև OOP-ում

Video: Տարբերությունը պոլիմորֆիզմի և ժառանգության միջև OOP-ում
Video: Refactoring. Factory Pattern [Design Patterns] 2024, Հունիսի
Anonim

Հիմնական տարբերություն – Պոլիմորֆիզմ ընդդեմ ժառանգության OOP-ում

Օբյեկտ-կողմնորոշված ծրագրավորումը (OOP) սովորաբար օգտագործվում է ծրագրակազմ մշակելու համար: Ծրագրավորման շատ լեզուներ աջակցում են օբյեկտի վրա հիմնված ծրագրավորմանը: Օբյեկտ-կողմնորոշված ծրագրավորումը դասերի և օբյեկտների միջոցով ծրագիր նախագծելու մեթոդաբանություն է: OOP-ում դասը օբյեկտ ստեղծելու ծրագիր է: Դասը ունի հատկություններ և մեթոդներ: Օբյեկտը դասի օրինակ է: OOP-ը պարունակում է չորս սյուներ, ինչպիսիք են ժառանգությունը, պոլիմորֆիզմը, աբստրակցիան և ինկապսուլյացիան: Այս հոդվածը քննարկում է OOP-ում պոլիմորֆիզմի և ժառանգության միջև եղած տարբերությունը: OOP-ում պոլիմորֆիզմի և ժառանգության հիմնական տարբերությունն այն է, որ պոլիմորֆիզմը օբյեկտի բազմաթիվ ձևերով վարվելու ունակությունն է, իսկ ժառանգությունը նոր դաս ստեղծելն է՝ օգտագործելով գոյություն ունեցող դասի հատկությունները և մեթոդները:

Ի՞նչ է պոլիմորֆիզմը OOP-ում:

Պոլիմորֆիզմը նշանակում է բազմաթիվ ձևեր: Մեկ օբյեկտը կարող է ունենալ մի քանի վարքագիծ: Պոլիմորֆիզմը կարելի է բաժանել երկու կատեգորիայի. Նրանք գերբեռնում և գերակայում են:

Գերբեռնում

Վերադարձեք Java-ով գրված ստորև ներկայացված ծրագրին:

Տարբերությունը պոլիմորֆիզմի և ժառանգության միջև OOP-ում
Տարբերությունը պոլիմորֆիզմի և ժառանգության միջև OOP-ում

Նկար 01. գերբեռնում

Ըստ վերը նշված ծրագրի՝ ստեղծվում է A տիպի օբյեկտ։ obj.sum(); այն կտա արդյունք՝ կապված մեթոդի sum(). Obj.sum(2, 3) զանգահարելիս; այն կտա ելքը՝ կապված գումարի հետ (int a, int b): Կարելի է նկատել, որ միևնույն առարկան ունի տարբեր վարքագիծ՝ կախված իրավիճակից։ Երբ կան մի քանի մեթոդներ նույն անունով, բայց տարբեր պարամետրերով, դա հայտնի է որպես գերբեռնվածություն:Այն նաև հայտնի է որպես ստատիկ կապման կամ կազմման ժամանակի պոլիմորֆիզմ։

Գերակայող

Պոլիմորֆիզմի մեկ այլ տեսակ գերակա է: Տե՛ս ստորև ներկայացված Java-ով գրված ծրագիրը:

Տարբերությունը պոլիմորֆիզմի և ժառանգականության միջև OOP_Նկար 02-ում
Տարբերությունը պոլիմորֆիզմի և ժառանգականության միջև OOP_Նկար 02-ում

Նկար 02. Գերակայող

Ըստ վերը նշված ծրագրի, A դասում կա ցուցադրման մեթոդ (): B դասը տարածվում է A դասից: Հետևաբար, A դասի բոլոր մեթոդները հասանելի են B դասի կողմից: Այն ժառանգական է: Ժառանգության հայեցակարգը ավելի ուշ նկարագրված է:

B դասը նույնպես ունի նույն մեթոդի ցուցադրումը (): Ա տիպի օբյեկտ ստեղծելիս և ցուցադրման մեթոդ կանչելիս ելքը կտա B: Ա դասի ցուցադրման մեթոդը վերագրվում է B դասի ցուցադրման մեթոդով: Այսպիսով, ելքը B. է

Երբ կան նույն անունով և նույն պարամետրերով մեթոդներ, բայց երկու տարբեր դասերում, և դրանք կապված են ժառանգության հետ, դա հայտնի է որպես գերակայող:Այն նաև հայտնի է որպես ուշ կապում, դինամիկ կապում, վազքի ժամանակի պոլիմորֆիզմ: Գերբեռնումը և գերակշռումը կոչվում են պոլիմորֆիզմ: Դա օբյեկտ կողմնորոշված ծրագրավորման հիմնական հայեցակարգ է:

Ի՞նչ է ժառանգությունը OOP-ում:

Վերադարձեք Java-ով գրված ստորև ներկայացված ծրագրին:

Հիմնական տարբերությունը պոլիմորֆիզմի և ժառանգության միջև OOP-ում
Հիմնական տարբերությունը պոլիմորֆիզմի և ժառանգության միջև OOP-ում

Նկար 03. Ժառանգության օրինակ

Ըստ վերը նշված ծրագրի՝ A դասը ունի մեթոդ sum() և B դասը՝ sub().

Ա դասի sum() մեթոդը կարող է օգտագործվել B դասում՝ օգտագործելով extension բանալի բառը: Գոյություն ունեցող դասի հատկությունների և մեթոդների վերօգտագործումը նոր դաս ստեղծելու համար հայտնի է որպես ժառանգություն: Նույնիսկ B դասում sum() մեթոդ չկա; այն ժառանգված է A դասից: Ժառանգությունը օգտակար է կոդի կրկնակի օգտագործման համար: Ավելի հին դասը կոչվում է բազային դաս, գերդաս կամ ծնող դաս։Ստացված դասը կոչվում է ենթադաս կամ երեխա դաս։

Ժառանգության տեսակները

Գոյություն ունեն ժառանգության տարբեր տեսակներ: Դրանք են՝ մեկ մակարդակի ժառանգություն, բազմամակարդակ ժառանգություն, բազմակի ժառանգություն, հիերարխիկ ժառանգություն և հիբրիդային ժառանգություն:

Միայն ժառանգություն

Մեկ ժառանգության մեջ կա մեկ սուպեր դաս և մեկ ենթադաս: Եթե A դասը սուպեր դասն է, իսկ B դասը՝ ենթադասը, ապա A դասի բոլոր հատկություններն ու մեթոդները հասանելի են B դասի կողմից: Կա միայն մեկ մակարդակ. հետևաբար, այն կոչվում է որպես մեկ մակարդակի ժառանգություն:

Բազմաստիճան ժառանգություն

Բազմամակարդակ ժառանգության մեջ կան դասերի երեք մակարդակ: Միջանկյալ դասը ժառանգում է սուպեր դասից։ Ենթադասը ժառանգում է միջանկյալ դասից: Եթե կան երեք դասեր, ինչպիսիք են A, B և C, ապա A-ն գերդաս է, իսկ B-ն՝ միջանկյալ դաս: Հետո B-ն ժառանգում է A-ից, իսկ C-ն՝ B-ից, դա բազմամակարդակ ժառանգություն է:

Բազմաթիվ ժառանգություն

Բազմակի ժառանգության մեջ կան բազմաթիվ սուպեր դասեր և մեկ ենթադաս: Եթե կան երեք սուպեր դասեր, որոնք կոչվում են A, B, C և D-ն ենթադաս է, ապա D դասը կարող է ժառանգել A, B և C-ից: Բազմակի ժառանգությունն աջակցվում է ծրագրավորման C++ լեզվում: Այն չի ապահովվում ծրագրավորման լեզուներում, ինչպիսիք են Java-ն կամ C-ը: Ինտերֆեյսներն օգտագործվում են այս լեզուներով բազմակի ժառանգության իրականացման համար:

Հիերարխիկ ժառանգություն

Եթե կան A դասեր, որոնք կոչվում են գերդասեր, իսկ B, C-ը ենթադասեր են, այդ ենթադասերը կարող են ժառանգել A դասի հատկությունները և մեթոդները: Ժառանգության այդ տեսակը հայտնի է որպես հիերարխիկ ժառանգություն:

Հիբրիդային ժառանգություն

Կա մեկ այլ հատուկ ժառանգության տեսակ, որը հայտնի է որպես հիբրիդային ժառանգություն: Այն բազմամակարդակ և բազմակի ժառանգությունների համադրություն է: Եթե A, B, C և D դասեր են, իսկ B-ն ժառանգում է A-ից, իսկ D-ն ժառանգում է B-ից և C-ից, ապա դա հիբրիդային ժառանգություն է:

Որո՞նք են նմանությունները պոլիմորֆիզմի և ժառանգականության միջև OOP-ում:

Երկուսն էլ օբյեկտ կողմնորոշված ծրագրավորման հասկացություններ են:

Ո՞րն է տարբերությունը պոլիմորֆիզմի և ժառանգականության միջև OOP-ում:

Պոլիմորֆիզմ ընդդեմ ժառանգության OOP

Պոլիմորֆիզմը օբյեկտի մի քանի ձևով վարվելու ունակություն է: Ժառանգությունը նոր դաս ստեղծելն է՝ օգտագործելով գոյություն ունեցող դասի հատկությունները և մեթոդները:
Օգտագործում
Պոլիմորֆիզմն օգտագործվում է օբյեկտների համար՝ մեթոդների որ ձև կանչելու համար կոմպիլյացիայի ժամանակ և գործարկման ժամանակ: Ժառանգությունն օգտագործվում է կոդի կրկնակի օգտագործման համար:
Իրականացում
Պոլիմորֆիզմն իրականացվում է մեթոդներում։ Ժառանգությունն իրականացվում է դասարաններում։
Կատեգորիաներ
Պոլիմորֆիզմը կարելի է բաժանել գերբեռնման և գերբեռնման: Ժառանգությունը կարելի է բաժանել մեկ մակարդակի, բազմաստիճան, հիերարխիկ, հիբրիդային և բազմակի ժառանգության:

Ամփոփում – Պոլիմորֆիզմ ընդդեմ ժառանգության OOP

Պոլիմորֆիզմը և ժառանգականությունը հիմնական հասկացություններն են Օբյեկտ ուղղված ծրագրավորման մեջ: OOP-ում պոլիմորֆիզմի և ժառանգության միջև տարբերությունն այն է, որ պոլիմորֆիզմը ընդհանուր ինտերֆեյս է բազմաթիվ ձևերի համար, իսկ ժառանգությունը նոր դաս ստեղծելն է՝ օգտագործելով գոյություն ունեցող դասի հատկությունները և մեթոդները: Երկու հասկացություններն էլ լայնորեն օգտագործվում են Ծրագրային ապահովման մշակման մեջ:

Ներբեռնեք PDF պոլիմորֆիզմն ընդդեմ ժառանգության OOP-ում

Դուք կարող եք ներբեռնել այս հոդվածի PDF տարբերակը և օգտագործել այն անցանց նպատակներով՝ ըստ մեջբերումների: Խնդրում ենք ներբեռնել PDF տարբերակը այստեղ Տարբերությունը պոլիմորֆիզմի և ժառանգության միջև OOP-ում

Խորհուրդ ենք տալիս: