Методдорду жүктөө эрежелери жөнүндө айтып бер.
sobes.tech AI
AIден жооп
Методдорду жүктөө (Method Overloading) обьект-ориенттелген программалоодо бир эле класста бир эле аталыштагы, бирок ар башка сигнатуралары бар бир нече методдорду аныктоого мүмкүндүк берет.
Методдорду жүктөө үчүн негизги эрежелер:
-
Сигнатураларда айырмачылык: Методдун сигнатурасы анын аты жана анын параметрлеринин тизмеги, тиешелүү тартипте, кирет. Методдор жүктөлгөн деп эсептелүү үчүн, алардын сигнатуралары айырмаланышы керек.
// Аралаш сигнатуралардын мисалдары void print(int i) { } void print(String s) { } void print(int i, String s) { } void print(String s, int i) { } // Параметрлердин тартиби айырмаланат -
Методдун аты бирдей болушу керек: Жүктөлгөн методдор бир эле аталышта болушу керек.
// Туура мисал жүктөө үчүн class Example { void process(int a) { } void process(double b) { } } -
Кайтаруучу түр сигнатуранын бөлүгү эмес: Тек гана кайтаруучу түрдүн өзгөрүшү методдорду жүктөлгөн деп эсептебейт. Компилятор кайсы методду чакырууну биле албайт, эгер сигнатуралар бирдей болсо:
// Жүктөлбөгөн - компиляция ката int calculate() { return 1; } String calculate() { return "error"; } -
Достук модификаторлору жана исключениялар спецификаторлору жүктөөгө таасир этпейт: Ошондой эле кайтаруучу түргө окшош, модификаторлорду (
public,private,protected,default) же чыгаруучу исключениялардын тизмесин (throws) өзгөртүү жүктөөгө алып келбейт:// Жүктөлбөгөн - компиляция ката, эгер сигнатуралар параметрлердин бирдей болсо public void doSomething() { } private void doSomething() { } -
Параметрлердин тартиби маанилүү: Параметрлердин түрлөрүнүн тартибин өзгөртүү сигнатураларды айырмалайт.
// Жүктөө void setup(int width, int height) { } void setup(int height, String unit) { } // Экинчи параметр менен айырмаланат void setup(String unit, int size) { } // Түрү жана тартиби менен айырмаланат -
Параметрлердин саны маанилүү: Параметрлердин саны ар башка болсо, сигнатуралар да ар башка болот.
// Жүктөө void log(String message) { } void log(String message, int level) { }
Ошентип, жүктөө үчүн негизги фактор — метод сигнатурасынын уникалдуулугу, ал анын аты жана параметрлердин (типтери жана тартиби) топтомунан аныкталат.