Junior — Middle
Чӣ гуна фарқ кардани боркунии метод бо навиштани дубора дар барномасозии объектӣ?
sobes.tech AI
Ҷавоб аз AI
Борбардории усул (overloading) ва иваз кардани усул (overriding) консепсияҳои гуногун дар барномасозии объектӣ-равона мебошанд:
-
Борбардории усул: дар як синф чандин усул бо номи якхела, аммо бо параметрҳои гуногун (навъ, миқдор) мавҷуд аст. Ин имкон медиҳад, ки усул бо аргументҳои гуногун фаро гирифта шавад.
-
Иваз кардани усул: вақте ки як субсинф иҷрои худро барои усули аллакай дар синфи асосӣ бо имзо (ном ва параметрҳо) муайян мекунад. Ин имкон медиҳад, ки рафтори усул барои субсинф тағир дода шавад.
Масалан дар Java:
class Animal {
void sound() {
System.out.println("Баъзе садоҳо");
}
void sound(String mood) { // борбардории
System.out.println("Садо вақте " + mood);
}
}
class Dog extends Animal {
@Override
void sound() { // иваз кардан
System.out.println("Хурсанг");
}
}
Ин ҷо, sound() дар синфи Dog усули синфи асосиро иваз мекунад, ва sound(String mood) борбардории усул дар ҳамин синф мебошад.