Sobes.tech
Junior — Middle

Объектке багытталган программалоодо абстракттуу класс жана интерфейс арасындагы айырмачылыктар кандай?

sobes.tech AI

AIден жооп

Объекттүү программалоодо келишимдерди жана жүрүм-турумду сүрөттөө үчүн абстракттуу класс жана интерфейс ар башка механизмдер болуп саналат, бирок негизги айырмачылыктар менен:

  • Абстракттуу класс абстракттуу (ишке ашырылбаган) жана конкреттүү методдорду камтышы мүмкүн. Ал абалда (майдандар) болушу мүмкүн. Класстар абстракттуу класстан мурас алат жана методдорду кайра жазышы мүмкүн.

  • Интерфейс гана ишке ашырылбаган методдордун топтомун сүрөттөйт жана абалда эч нерсе камтыбайт. Интерфейсти ишке ашырган класс анын бардык методдорун ишке ашырышы керек.

Мисалдар:

  • Абстракттуу класс мурас алгандар үчүн негизги ишке ашырылышын жана жалпы абалды аныктоо керек болгондо ылайыктуу.
  • Интерфейс ар кандай класс тарабынан ишке ашырылуучу мүмкүнчүлүктөрдү сүрөттөө үчүн колдонулат, мурас байланышсыз.

Мисалы, Flyable интерфейси fly() методун сүрөттөй алат, ал эми Bird абстракттуу классы wingSpan талаасын жана sing() методун ишке ашырылышы менен камтышы мүмкүн.