Junior — Middle
Чӣ гуна механизмии полиморфизм дар Java ба даст меояд ва чӣ гуна онро дар код иҷро кардан мумкин аст؟
sobes.tech AI
Ҷавоб аз AI
Дар Java полиморфизм ба воситаи мерос ва иваз кардани методҳо, инчунин тавассути интерфейсҳо ба даст меояд. Ин имкон медиҳад, ки объектҳои синфҳои гуногун ба фармонҳои якхела дархостҳо дархостҳои гуногун ҷавоб диҳанд.
Масали татбиқи полиморфизм:
class Animal {
void sound() {
System.out.println("Як садо");
}
}
class Dog extends Animal {
@Override
void sound() {
System.out.println("Хӯрдан");
}
}
class Cat extends Animal {
@Override
void sound() {
System.out.println("Мяу");
}
}
public class Main {
public static void main(String[] args) {
Animal myDog = new Dog();
Animal myCat = new Cat();
myDog.sound(); // Натиҷа: Хӯрдан
myCat.sound(); // Натиҷа: Мяу
}
}
Ин ҷо, усули sound() дар объектҳои намуди Animal даъват мешавад, аммо дар асл, иҷроиши мувофиқ ба синфи воқеии объект (Dog ё Cat) иҷро мешавад. Ин полиморфизм аст — як интерфейс, бисёр иҷроишҳо.