Эмне үчүн динамикалык байланыш полиморфизмди ишке ашырууда маанилүү?
Эмне үчүн динамикалык байланыш полиморфизмди ишке ашырууда маанилүү?

Video: Эмне үчүн динамикалык байланыш полиморфизмди ишке ашырууда маанилүү?

Video: Эмне үчүн динамикалык байланыш полиморфизмди ишке ашырууда маанилүү?
Video: Түз эфир: Кылыктануу эмне үчүн маанилүү? 2024, Декабрь
Anonim

Динамикалык байланыш объекттин шилтемесинин иштөө убактысынын түрүнө ылайык, мүчө-функция чакырыгын аткаруу убагында чечүүгө мүмкүндүк берет. Бул мурас иерархиясындагы ар бир колдонуучу аныктаган класстын башка болушуна жол берет ишке ашыруу белгилүү бир функциянын.

Муну эске алып, полиморфизмди ишке ашырууда динамикалык байланыштын ролун эмне менен түшүндүрөт?

Муну биз статикалык деп атайбыз байлоо : the байлоо аттар компиляция убагында болот (б.а. статикалык). Мындай механизм деп аталат динамикалык байланыш : the байлоо аттардын а ишке ашыруу иштөө убагында болот (б.а., динамикалык ). Динамикалык байланыш объектке багытталган программалоо тилдери үчүн зарыл полиморфизмди ишке ашыруу.

Ошо сыяктуу эле, динамикалык байлоонун кандай пайдасы бар? Статикалык байлоо үчүн Type (Javaдагы класс) маалыматын колдонот байлоо ал эми динамикалык байланыш чечүү үчүн объектти колдонот байлоо . Ашыкча жүктөлгөн ыкмалар статикалык колдонуу менен бириктирилет байлоо ал эми жокко чыгарылган ыкмалар колдонуу менен байланышкан динамикалык байланыш иштөө убагында.

Андан кийин суроо туулат, динамикалык байланыш полиморфизмби?

Полиморфизм Javaда эки түрү бар: Компиляция убактысы полиморфизм (статикалык байлоо ) жана Runtime полиморфизм ( динамикалык байланыш ). Маанилүү мисал полиморфизм ата-эне класстын бала класстын объектисине кандайча кайрылат. Чынында, бирден ашык IS-A мамилелерин канааттандырган ар кандай объект болуп саналат полиморфтук табиятта.

Ой, динамикалык байланыш канчалык пайдалуу?

Динамикалык байланыш виртуалдык функциялардын жардамы менен ишке ашат. Негизги класс көрсөткүчү алынган класс объектисин көрсөтөт. Жана функция базалык класста виртуалдык деп жарыяланат, андан кийин дал келүүчү функция виртуалдык таблица жазуусу аркылуу иштөө убагында аныкталат. Элементтер кантип өткөрүлөт объектке багытталган программалоо тили ( OOP )?

Сунушталууда: