Junior — Middle
Дар кадом ҳолатҳо истифодаи мерос дар барномасозии объектӣ нодуруст ё нолозим ҳисобида мешавад?
sobes.tech AI
Ҷавоб аз AI
Истифодаи мерос ҳамчун нодуруст ё нолозим дар ҳолатҳои зерин ҳисобида мешавад:
- Вақте ки зери синф воқеан як навъи воқеии синфи асосӣ нест (қаллобӣ дар принсипи ивазкунӣ Лисков).
- Агар мерос барои такрори истифодаи коди ва на барои ифодаи муносибати "ҳаст" (is-a) истифода шавад.
- Вақте ки hierarchy хеле амиқ ва мураккаб мешавад, ки нигоҳдорӣ ва фаҳмиши коди мушкил мешавад.
- Агар мерос ба пайвастагии қавии синфҳо оварда расонад, ки тағирот ва васеъкуниро душвор месозад.
- Дар ҳолатҳои, ки композиция (has-a) нисбат ба мерос барои зиёд кардани чандирӣ беҳтар аст.
Масалан, агар синфи Car аз Engine мерос гирад, ин нодуруст аст, зеро мошин як муҳаррик нест. Беҳтар аст, ки истифодаи композиция: Car объект Engine-ро дар бар мегирад.