Junior — Middle
Obyektga yo'naltirilgan dasturlashda polimorfizm va abstraktsiya o'rtasidagi bog'liqlik qanday namoyon bo'ladi?
sobes.tech AI
AIdan javob
Абстракция в объектно-ориентированном программировании позволяет выделить важные характеристики объекта, скрывая детали реализации. Полиморфизм же позволяет объектам разных классов реагировать на одинаковые сообщения (методы) по-разному.
Связь между ними в том, что абстракция задаёт общий интерфейс или базовый класс, а полиморфизм реализует конкретное поведение в подклассах. Это позволяет работать с объектами через абстрактный тип, не зная конкретной реализации.
Пример на Java:
abstract class Animal {
abstract void makeSound();
}
class Dog extends Animal {
void makeSound() { System.out.println("Bark"); }
}
class Cat extends Animal {
void makeSound() { System.out.println("Meow"); }
}
public class Main {
public static void main(String[] args) {
Animal a = new Dog();
a.makeSound(); // Bark
a = new Cat();
a.makeSound(); // Meow
}
}