Статикалык жана статикалык эмес ыкма
Метод – бул белгилүү бир тапшырманы аткаруу үчүн аткарылган билдирүүлөрдүн сериясы. Методдор киргизүүлөрдү алып, натыйжаларды чыгара алат. Статикалык жана статикалык эмес методдор объектиге багытталган программалоо тилдеринде бар методдордун эки түрү болуп саналат. Статикалык метод класс менен байланышкан ыкма. Объект менен байланышкан ыкма статикалык эмес (мисалы) метод деп аталат. Объектке багытталган тилдерде методдор объекттерде сакталган маалыматтар менен иштөө механизми катары колдонулат.
Статикалык метод деген эмне?
Объектке багытталган программалоодо статикалык метод класс менен байланышкан ыкма. Демек, статикалык методдор класстын белгилүү бир инстанциясында иштөө мүмкүнчүлүгүнө ээ эмес. Статикалык методдорду статикалык методду камтыган класстын объектисин колдонбостон чакырса болот. Төмөндө Javaдагы статикалык ыкманы аныктоонун мисалы келтирилген. Java'да статикалык ыкманы аныктоодо статика колдонулушу керек.
жалпы класс MyClass { public static void MyStaticMethod() { // статикалык методдун коду }
}
Жогоруда аныкталган статикалык ыкманы өзүнө таандык класстын аталышы менен төмөнкүчө атаса болот.
MyClass. MyStaticMethod();
Белгилей турган маанилүү нерсе, статикалык ыкмалар статикалык мүчөлөргө гана кире алат.
Статикалык эмес метод деген эмне?
Статикалык эмес метод же инстанция ыкмасы класстагы объект менен байланышкан ыкма. Демек, статикалык эмес методдор метод аныкталган класстын объектисинин жардамы менен чакырылат. Статикалык эмес метод класстын статикалык мүчөлөрүнө, ошондой эле статикалык эмес мүчөлөргө кире алат. Көптөгөн объектиге багытталган тилдерде (мисалы, C++, C, Java) статикалык эмес метод чакырылганда, методду чакырган объект жашыруун аргумент катары өткөрүлөт (ал "бул" шилтеме деп аталат). Ошентип, методдун ичинде бул ачкыч сөздү метод деп атаган объектке кайрылуу үчүн колдонсо болот. Төмөндө Java тилинде инстанция ыкмасын аныктоонун мисалы келтирилген.
жалпы класс MyClass { public void MyInstanceMethod() { // инстанция ыкмасынын коду }
}
Жогоруда аныкталган инстанция ыкмасын ал таандык болгон класстын объектисинин жардамы менен төмөнкүдөй чакырса болот.
MyClass objMyClass=new MyClass();
objMyClass. MyInstanceMethod ();
Статикалык жана статикалык эмес методдун ортосунда кандай айырма бар?
Статикалык методдор класс менен байланышкан методдор, ал эми статикалык эмес методдор класстын объектилери менен байланышкан методдор. Статикалык эмес методду чакыруу үчүн класс алгач түзүлүшү керек, бирок статикалык методдордо мындай талап жок. Аларды жөн гана статикалык методду кармаган класстын атын колдонуу менен чакырса болот. Дагы бир маанилүү айырмачылык, статикалык эмес метод адатта метод деп аталган объектке шилтемеге ээ жана ага методдун ичиндеги this ачкыч сөзүн колдонуу менен кирүүгө болот. Бирок бул ачкыч сөздү статикалык ыкмаларда колдонууга болбойт, анткени алар белгилүү бир объект менен байланышпайт.