Junior
Вақте ки усул ҳамчун ивазшаванда (overriding) ҳисоб мешавад?
sobes.tech AI
Ҷавоб аз AI
Метод дар объектӣ-ҳарҷагирии барномасозӣ ҳисоб мешавад, ки:
- Дар синфи зерини (подкласс) бо номи, навъи баргардонанда ва рӯйхати параметрҳо (имзо) ҳамон тавр, ки дар синфи болоӣ (суперкласс) муайян шудааст.
- Методи синфи болоӣ
privateнест. - Методи синфи зерин дар дастрасӣ нисбат ба методу синфи болоӣ қатъӣтар нест.
- Дар ҳолати истисноҳо, методуи дарозшуда наметавонад истисноҳои санҷидашударо ([checked exceptions]) эълон кунад, ки умумӣтар аз истисноҳое мебошанд, ки дар методуи дарозшуда эълон шудаанд.
Ҳангоми фаро гирифтани методуи дарозшуда дар объект аз синфи зер, версияи методуи синфи зер иҷро мешавад. Ин намунаи полиморфизм дар вақти иҷро мебошад.
Масалан дар Java:
// java
class Animal {
public void makeSound() {
System.out.println("Садоии умумии ҳайвон");
}
}
class Dog extends Animal {
@Override // Анотацияи @Override тасдиқ мекунад, ки метод дароз шудааст
public void makeSound() {
System.out.println("Гав гав");
}
}
class Cat extends Animal {
@Override
public void makeSound() {
System.out.println("Мяу");
}
}