Sobes.tech
Junior — Middle

Дар кадом ҳолатҳо истифодаи мерос дар барномасозии объектӣ нодуруст ё нолозим ҳисобида мешавад?

sobes.tech AI

Ҷавоб аз AI

Истифодаи мерос ҳамчун нодуруст ё нолозим дар ҳолатҳои зерин ҳисобида мешавад:

  • Вақте ки зери синф воқеан як навъи воқеии синфи асосӣ нест (қаллобӣ дар принсипи ивазкунӣ Лисков).
  • Агар мерос барои такрори истифодаи коди ва на барои ифодаи муносибати "ҳаст" (is-a) истифода шавад.
  • Вақте ки hierarchy хеле амиқ ва мураккаб мешавад, ки нигоҳдорӣ ва фаҳмиши коди мушкил мешавад.
  • Агар мерос ба пайвастагии қавии синфҳо оварда расонад, ки тағирот ва васеъкуниро душвор месозад.
  • Дар ҳолатҳои, ки композиция (has-a) нисбат ба мерос барои зиёд кардани чандирӣ беҳтар аст.

Масалан, агар синфи Car аз Engine мерос гирад, ин нодуруст аст, зеро мошин як муҳаррик нест. Беҳтар аст, ки истифодаи композиция: Car объект Engine-ро дар бар мегирад.