Ашыкча жүктөө менен ашыкча жүктөөнүн ортосундагы айырма

Ашыкча жүктөө менен ашыкча жүктөөнүн ортосундагы айырма
Ашыкча жүктөө менен ашыкча жүктөөнүн ортосундагы айырма

Video: Ашыкча жүктөө менен ашыкча жүктөөнүн ортосундагы айырма

Video: Ашыкча жүктөө менен ашыкча жүктөөнүн ортосундагы айырма
Video: Аял кантсе, эркекти тошокто кандырат? 2024, Июль
Anonim

Өткөрүп коюу жана Ашыкча жүктөө

Усулду жокко чыгаруу жана ашыкча жүктөө ыкмасы кээ бир программалоо тилдеринде табылган эки түшүнүк/техника/функция. Эки түшүнүк тең программистке бир эле аталыштагы методдор үчүн ар кандай ишке ашырууну камсыз кылууга мүмкүндүк берет. Методду жокко чыгаруу программистке анын супер классында мурунтан эле аныкталган методго субкласс ичинде альтернативалуу ишке ашырууну камсыз кылууга мүмкүндүк берет. Методду ашыкча жүктөө программистке бир аталыштагы бир нече методдорго (бир эле класстын ичинде) ар кандай ишке ашырууларды берүүгө мүмкүнчүлүк берет.

Өткөрүлүүчү деген эмне?

Жогоруда айтылгандай, класс объектке багытталган программалоо тилдеринде супер классты же ата-эне классты кеңейте алат. Бала класстын өзүнүн методдору болушу мүмкүн же ыктыярдуу түрдө анын ата-эне классында (же анын чоң ата-эне класстарынын биринде) аныкталган методдорго өзүнүн ишке ашыруулары болушу мүмкүн. Ошентип, акыркысы болгондо, ал методду жокко чыгаруу деп аталат. Башкача айтканда, эгерде бала классы анын ата-эне класстарынын биринде аныкталган ыкма менен бирдей кол тамгасы жана кайтаруу түрү менен методду ишке ашырууну камсыз кылса, ал метод бала класстын ишке ашырылышы менен жокко чыгарылат (алмаштырылган) деп айтылат.. Демек, класста жокко чыгарылган метод бар болсо, иштөө убактысы системасы кайсы ыкманы ишке ашыруу колдонуларын чечиши керек. Бул маселе аны чакыруу үчүн колдонулган объекттин так түрүн карап чечилет. Эгерде ата-эне классынын объектиси жокко чыгарылган методду чакыруу үчүн колдонулса, анда ата-эне класстагы ишке ашыруу колдонулат. Ошо сыяктуу эле, эгерде ал колдонулган балдар классынын объекти болсо, анда бала класстын ишке ашырылышы колдонулат. Java, Eifell, C++ жана Python сыяктуу заманбап программалоо тилдери ыкманы жокко чыгарууга мүмкүндүк берет.

Ашыкча жүктөө деген эмне?

Методду ашыкча жүктөө – бул кээ бир программалоо тилдери тарабынан бир эле аталыштагы, бирок ар кандай киргизүү жана чыгаруу түрлөрү менен бир нече ыкмаларды түзүү үчүн берилген өзгөчөлүк. Java, C, C++ жана VB. NET сыяктуу заманбап программалоо тилдеринде бул функция жеткиликтүү. Бир эле ат менен, бирок башка ыкма кол тамгасы же башка кайтаруу түрү (же экөө тең) менен башка ыкманы түзүү менен ыкманы ашыкча жүктөй аласыз. Мисалы, бир класстын ичинде метод1(тип1 t1) жана метод1(тип2 t2) болсо, анда алар ашыкча жүктөлгөн. Андан кийин система чакырганда кайсынысын аткарууну чечиши керек болот. Бул дифференциялоо методго берилген параметрдин(тердин) түрүн карап жасалат. Эгерде аргумент 1-түрдө болсо, анда биринчи ишке ашыруу чакырылат, ал эми ал 2-типте болсо, экинчи ишке ашыруу чакырылат.

Ашыкча жүктөө менен ашыкча жүктөөнүн ортосунда кандай айырма бар?

Методду жокко чыгаруу жана ыкманы ашыкча жүктөө ар кандай ишке ашыруулары бар ыкманы камсыз кылуу үчүн колдонулганына карабастан, бул эки түшүнүктүн/техниканын ортосунда негизги айырмачылыктар бар. Биринчиден, методду ашыкча жүктөө субъекттери ар дайым ар кандай класстардын ичинде калат, ал эми методду ашыкча жүктөө субъекттери бир класста калат. Демек, жокко чыгаруу мураска жол берген объектиге багытталган программалоо тилдеринде гана мүмкүн, ал эми ашыкча жүктөө объектке багытталган эмес тилде да болушу мүмкүн. Башкача айтканда, сиз супер класстагы ыкманы жокко чыгарасыз, бирок өз классыңыздагы ыкманы ашыкча жүктөйсүз.

Дагы бир айырмачылык, жокко чыгарылган ыкмалардын методдун аталышы, ыкма кол тамгасы жана кайтаруу түрүнө ээ, бирок ашыкча жүктөлгөн ыкмалар кол тамгасы же кайтаруу түрү боюнча айырмаланышы керек (аты бирдей болушу керек). Эки жокко чыгарылган ыкмаларды айырмалоо үчүн колдонулган id методдорун чакыруу үчүн объекттин так түрү колдонулат, ал эми ашыкча жүктөлгөн эки ыкманы айырмалоо үчүн параметрлердин түрлөрү колдонулат. Дагы бир негизги айырмачылык - ашыкча жүктөө компиляция убагында чечилет, ал эми жокко чыгаруу аткаруу убагында чечилет.

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