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

Վերջին թարմացումը՝ 06/05/2023

Ժառանգությունը ծրագրավորման հիմնական հասկացություններից մեկն է օբյեկտ-կողմնորոշված. Թույլ է տալիս դասին ժառանգել մեկ այլ դասի հատկությունները և մեթոդները:

Պարզ ժառանգություն

Պարզ ժառանգությունն այն է, երբ դասը ժառանգում է միայն հատկություններ և մեթոդներ մայր դասից: Պատկերացրեք, որ դուք ունեք ծնողների դասարան, որը կոչվում է «Կենդանիներ» և երեխաների դասարան, որը կոչվում է «Շուն»: «Շուն» դասը կժառանգի «Կենդանիներ» դասի մեթոդներն ու հատկությունները, ինչպիսիք են «ուտել», «քնել», «շնչել», ի թիվս այլոց:

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

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

Ինչո՞ւ չի թույլատրվում բազմակի ժառանգություն բոլոր ծրագրավորման լեզուներում:

Բազմաթիվ ժառանգությունը կարող է հանգեցնել անորոշության խնդիրների: Այլ կերպ ասած, եթե երկու մայր դասեր ունեն նույն անունով մեթոդներ կամ հատկություններ, հնարավոր է պարզ չլինի, թե այդ մեթոդներից կամ հատկություններից որն օգտագործել երեխայի դասի համար: Այդ պատճառով որոշ ծրագրավորման լեզուներ թույլ չեն տալիս բազմակի ժառանգություն:

Բացառիկ բովանդակություն - Սեղմեք այստեղ  Ինչպե՞ս կարող եմ ավելի արագ ծրագրավորել: Գործնական խորհուրդներ

Ծրագրավորման լեզուների ցանկ, որոնք աջակցում են բազմակի ժառանգությանը.

  • C++
  • Փիթոն
  • Ռուբին

Ծրագրավորման լեզուների ցանկ, որոնք Չեն աջակցում բազմակի ժառանգությանը.

  • Ջավա
  • C#
  • PHP

Եզրափակելով, պարզ ժառանգությունը և բազմակի ժառանգությունը օբյեկտի վրա հիմնված ծրագրավորման երկու հիմնական հասկացություններն են: Պարզ ժառանգությունը ենթադրում է, որ երեխա դասը կարող է ժառանգել հատկություններ և մեթոդներ միայն մեկ ծնող դասից, մինչդեռ բազմակի ժառանգությունը ենթադրում է, որ երեխա դասը կարող է ժառանգել հատկություններ և մեթոդներ մեկից ավելի ծնող դասերից: Կարևոր է նշել, որ ոչ բոլոր ծրագրավորման լեզուներն են թույլ տալիս բազմակի ժառանգություն՝ մեթոդների և հատկությունների հնարավոր երկիմաստության պատճառով:

Համոզվեք, որ հասկանում եք օբյեկտի վրա հիմնված ծրագրավորման այս երկու հիմնական հասկացությունների տարբերությունը: