Ինչու՞ բազմակի ժառանգություն հնարավոր չէ C#-ում:
Ինչու՞ բազմակի ժառանգություն հնարավոր չէ C#-ում:

Video: Ինչու՞ բազմակի ժառանգություն հնարավոր չէ C#-ում:

Video: Ինչու՞ բազմակի ժառանգություն հնարավոր չէ C#-ում:
Video: ЛЮБОВЬ С ДОСТАВКОЙ НА ДОМ (2020). Романтическая комедия. Хит 2024, Մայիս
Anonim

C#-ն անում է ոչ աջակցություն բազմակի ժառանգություն , քանի որ պատճառաբանել են, որ ավելացնելով բազմակի ժառանգություն ավելացրեց չափազանց մեծ բարդություն C#-ին` միաժամանակ ապահովելով չափազանց քիչ օգուտ: C#-ում դասերը միայն թույլատրվում է դեպի ժառանգել միայնակ ծնող դասից, որը կոչվում է միայնակ Ժառանգություն.

Պարզապես, ինչու բազմակի ժառանգությունը չի թույլատրվում:

Java-ն աջակցում է բազմակի ժառանգություն միայն միջերեսների միջոցով: Դասը կարող է իրականացնել ցանկացած թվով ինտերֆեյս, բայց կարող է ընդլայնել միայն մեկ դաս: Բազմակի ժառանգությունը չի աջակցվում քանի որ դա հանգեցնում է մահացու ադամանդի խնդրի: Ինտերֆեյսը պայմանագիր է այն բաների մասին, որոնք ձեր դասարանը պետք է իրականացնի:

Կարելի է նաև հարցնել՝ կարո՞ղ ենք C#-ում մի քանի ինտերֆեյսեր ժառանգել: Ինտերֆեյսեր նման են համաձայնագրերի կամ «պայմանագրերի» ինչ դասի վերաբերյալ կարող եմ անել . Դասեր կարող է ունեն բազմաթիվ միջերեսներ , բայց դասերը չեն կարող ժառանգել բազմակի դասեր. Դասեր ժառանգելով ավելի քան մեկ դասը հայտնի է որպես բազմակի - Ժառանգություն . C#-ն անում է չի թույլատրվում բազմակի - Ժառանգություն.

Ահա, ո՞րն է Diamond-ի խնդիրը բազմակի ժառանգական C#-ում:

« ադամանդի խնդիր «անորոշություն է, որն առաջանում է, երբ երկու դասեր B և C ժառանգել Ա-ից և Դ դասարանից ժառանգում է և՛ B-ից, և՛ C-ից: Եթե A-ում կա մեթոդ, որը B-ն և C-ն վերացրել են, իսկ D-ն այն չի վերագրում, ապա մեթոդի ո՞ր դասն է կատարում D-ն: ժառանգել Բ-ի, թե՞ C-ի:

Ի՞նչ է բազմակի ժառանգությունը C#-ում օրինակով:

C# թույլ չի տալիս բազմակի ժառանգություն դասերի հետ, բայց այն կարող է իրականացվել ինտերֆեյսի միջոցով: Պատճառն այն է. Բազմաթիվ ժառանգություն ավելացրեք չափազանց մեծ բարդություն՝ չնչին օգուտով: Բազային դասի անդամի բախման հսկայական հնարավորություններ կան: Ժառանգություն ինտերֆեյսի հետ ապահովում է նույն աշխատանքը բազմակի ժառանգություն.

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