Ишке киргизет жана кеңейтет
Implements жана Extends – бул Java программалоо тилинде табылган эки ачкыч сөз, алар кошумча функцияларды жаңы класска өткөрүп берүүнү камсыз кылат. Implements ачкыч сөзү интерфейсти ишке ашыруу үчүн ачык колдонулат, ал эми Extends ачкыч сөзү (супер) класстан мурастоо үчүн колдонулат. Мурас жана интерфейс түшүнүктөрү C жана VB. NET сыяктуу объектке багытталган программалоо тилдеринин көпчүлүгүндө бар, бирок алар бул түшүнүктөрдү колдонуу үчүн ар кандай синтаксис же ачкыч сөздөрдү сунуштай турганын эске алыңыз. Бул макала Java'да аныкталган Ишке ашыруу жана Кеңейтүү ачкыч сөздөрүнө гана багытталган.
Узартылат
Extends ачкыч сөзү Java программалоо тилинде мурас түшүнүгүн ишке ашыруу үчүн колдонулат. Мурас, негизинен, жаңы аныкталган класс менен болгон класстын касиеттерин жана жүрүм-турумун кеңейтүүгө мүмкүндүк берүү менен кодду кайра колдонууну камсыз кылат. Жаңы класс (же туунду класс) супер классты (же ата-эне классты) кеңейткенде, ал субкласс супер класстын бардык атрибуттарын жана ыкмаларын мурастайт. Субкласс ата-эне класстан мураска калган жүрүм-турумду (методдорго жаңы же кеңейтилген функцияларды камсыз кылуу) ыктыярдуу түрдө жокко чыгара алат. Субкласс Javaдагы бир нече супер класстарды кеңейте албайт. Ошондуктан, бир нече мурастоо үчүн кеңейтүүлөрдү колдоно албайсыз. Бир нече мураска ээ болуу үчүн төмөндө түшүндүрүлгөн интерфейстерди колдонушуңуз керек.
Ишкелет
Implements ачкыч сөзү Java программалоо тилинде класс тарабынан интерфейсти ишке ашыруу үчүн колдонулат. Java тилиндеги интерфейс бул интерфейсти ишке ашырган класстар тарабынан ишке ашырылышы керек болгон келишимди көрсөтүү үчүн колдонулган абстракттуу тип. Адатта интерфейс метод колдорун жана туруктуу декларацияларды гана камтыйт. Белгилүү бир интерфейсти ишке ашырган ар кандай интерфейс интерфейсте аныкталган бардык методдорду ишке ашырышы керек же абстракттуу класс катары жарыяланышы керек. Java тилинде объекттин шилтемесинин түрүн интерфейстин түрү катары аныктоого болот. Бирок ал объект нөл болушу керек же ошол интерфейсти ишке ашырган класстын объектисин кармашы керек. Javaдагы Implements ачкыч сөзүн колдонуп, бир класска бир нече интерфейсти ишке ашыра аласыз. Интерфейс башка интерфейсти ишке ашыра албайт. Бирок интерфейс классты узарта алат.
Ишке ашыруу жана кеңейтүү ортосундагы айырма
Implements жана Extends бул Java программалоо тилинде класстын атрибуттарын жана жүрүм-турумун мурастоо механизмин камсыз кылган эки ачкыч сөз болсо да, алар эки башка максатта колдонулат. Implements ачкыч сөзү класс үчүн белгилүү бир интерфейсти ишке ашыруу үчүн колдонулат, ал эми Extends ачкыч сөзү супер класстан кеңейтүү үчүн субкласс үчүн колдонулат. Класс интерфейсти ишке ашырганда, ал класс интерфейсте аныкталган бардык ыкмаларды ишке ашыруусу керек, бирок субкласс супер классты кеңейткенде, ал ата-эне класска кирген методдорду жокко чыгарышы мүмкүн же жокко чыгарышы мүмкүн. Акыр-аягы, Implements жана Extends ортосундагы дагы бир негизги айырма, класс бир нече интерфейстерди ишке ашыра алат, бирок ал Javaдагы бир супер класстан гана жайыла алат. Жалпысынан алганда, Implements (интерфейстерди) колдонуу Extends (мурас) колдонууга салыштырмалуу бир нече себептерден улам көбүрөөк ийкемдүүлүк жана бириктирүүнү азайтуу мүмкүнчүлүгү деп эсептелет. Ошондуктан практикада базалык класстарга караганда интерфейске программалоо артык.