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

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

Video: Ո՞րն է տարբերությունը կազմի և ժառանգության միջև:
Video: Ինչու են թմրում ձեռքերը. 7 վտանգավոր հիվանդություններ, որոնք կարող են թմրում և ծակոցներ առաջացնել 2024, Նոյեմբեր
Anonim

Չնայած երկուսն էլ Ժառանգություն իսկ Կոմպոզիցիան ապահովում է կոդի վերօգտագործելիություն, հիմնական տարբերությունը Կազմության և Ժառանգություն Java-ում դա է Կազմը թույլ է տալիս - ի վերաօգտագործում կոդը առանց երկարացնելու, բայց ժառանգության համար դուք պետք է երկարացնեք որ դաս ցանկացած կրկնակի օգտագործման համար - ից կոդը կամ ֆունկցիոնալությունը:

Հետագայում կարելի է նաև հարցնել՝ ո՞րն է ավելի լավ ժառանգությո՞ւն, թե՞ կազմ։

1) Մեկը նախընտրելու պատճառ Կազմը ավարտվել է Ժառանգություն Java-ում փաստ է, որ Java-ն բազմակի չի աջակցում Ժառանգություն . 2) Կազմը առաջարկում է ավելի լավ թեստ-կարողությունը դասի քան Ժառանգություն . Եթե մեկ դասը կազմված է մեկ այլ դասից, թեստավորման համար հեշտությամբ կարող եք ստեղծել Mock Object, որը ներկայացնում է կազմված դասը:

Նաև ի՞նչ է կոմպոզիցիան օբյեկտ ուղղված ծրագրավորման մեջ: Կազմը հիմնարար հասկացություններից մեկն է օբյեկտ - կողմնորոշված ծրագրավորում . Այն նկարագրում է դաս, որը հղում է կատարում մեկ կամ մի քանիսին առարկաներ այլ դասերի օրինակի փոփոխականներում: Սա թույլ է տալիս մոդելավորել ունի-մի ասոցիացիա առարկաներ . Նման հարաբերություններ կարող եք բավականին պարբերաբար հանդիպել իրական աշխարհում։

Սա հաշվի առնելով՝ ի՞նչ է նշանակում ժառանգության նկատմամբ կազմություն։

Կազմը ժառանգության նկատմամբ (կամ կոմպոզիտային վերաօգտագործման սկզբունք) օբյեկտի վրա հիմնված ծրագրավորման մեջ (OOP) է այն սկզբունքը, որ դասերը պետք է հասնեն պոլիմորֆ վարքագծի և կոդի վերօգտագործման իրենց կողմից կազմը (պարունակելով այլ դասերի օրինակներ, որոնք իրականացնում են ցանկալի ֆունկցիոնալությունը), այլ ոչ Ժառանգություն բազայից

Արդյո՞ք համախմբումը ժառանգություն է:

Ժառանգություն ընդլայնել դասի ֆունկցիոնալությունը՝ ստեղծելով ենթադաս: Անտեսեք ենթադասերի գերդասերի անդամներին՝ նոր գործառույթներ ապահովելու համար: Ագրեգացիա Ստեղծեք նոր ֆունկցիոնալություն՝ վերցնելով այլ դասեր և դրանք համատեղելով նոր դասի մեջ:

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