Junior — Middle
Որ իրավիճակներում օբյեկտային ուղղված ծրագրավորման մեջ ժառանգության օգտագործումը սխալ կամ ցանկալի չէ համարում?
sobes.tech AI
Պատասխան AI-ից
Օգտագործումը ժառանգության θεωվում է սխալ կամ ցանկալի չէ հետևյալ իրավիճակներում:
- Երբ ենթասինքը իրականում բազային դասի ճշմարիտ տեսակ չէ (Liskov փոխարինման սկզբունքի խախտում):
- Եթե ժառանգությունը օգտագործվում է կոդի վերօգտագործման համար և ոչ թե արտահայտելու համար "է" (is-a) հարաբերությունը:
- Երբ ժառանգականությունը շատ խոր և բարդ է դառնում, ինչը դժվարացնում է կոդի պահպանությունը և հասկանալը:
- Եթե ժառանգությունը հանգեցնում է դասերի միջև ուժեղ կապի, ինչը դժվարացնում է փոփոխությունները և ընդլայնումները:
- Երբ ավելի ցանկալի է կոմպոզիցիա (has-a) օգտագործել ժառանգության փոխարեն՝ ավելի մեծ ճկունություն ապահովելու համար:
Օրինակ, եթե Car դասը ժառանգում է Engine-ից, դա սխալ է, քանի որ մեքենան մի շարժիչ չէ: Ավելի լավ է օգտագործել կոմպոզիցիա՝ Car պարունակում է Engine օբյեկտ։