Junior — Middle
Кадом ислоҳотҳо бояд дар таъриф кардани синф барои таъмин кардани имконияти истифодаи полиморфизм ворид карда шаванд?
sobes.tech AI
Ҷавоб аз AI
Барои таъмин намудани имконияти истифодаи полиморфизм дар Java, зарур аст:
- Методҳое, ки дар подклассҳо бояд override шаванд, набояд статикӣ ё финалӣ бошанд.
- Дар подклассҳо калиди калидвожаи
overrideбарои override кардани методҳои класи асосӣ истифода баред. - Дар класи асосӣ, методҳо бояд ҳамчун
publicёprotectedэълон шаванд (то подклассҳо метавонанд онҳоро override кунанд).
Масалан:
class Animal {
public void sound() {
System.out.println("Баъзе садо");
}
}
class Dog extends Animal {
@Override
public void sound() {
System.out.println("Хӯрдан");
}
}
// Истифодаи полиморфизм
Animal animal = new Dog();
animal.sound(); // Натиҷа "Хӯрдан"
Аз ин рӯ, барои дастгирии полиморфизм, методҳо бояд виртуалӣ бошанд (дар Java, ҳама методҳои ғайри статикӣ ба таври пешфарз виртуалӣ мебошанд). Муҳим он аст, ки методҳоро static ё final накунед.