Sobes.tech
Junior — Middle
96

Можете ли да обясните какво означава способността на обектите да проявяват различни поведения в зависимост от контекста?

Компаниите бяха попитани
Стилсофт
Вкусно и точкаВкусно и точка

Отговор от AI

sobes.tech AI

Это описание концепции полиморфизма в объектно-ориентированном программировании. Полиморфизм позволяет объектам разных классов иметь методы с одинаковыми именами, но реализованными по-разному. В зависимости от контекста (например, типа объекта, на котором вызывается метод) вызывается соответствующая реализация. Это позволяет писать более гибкий и расширяемый код.

Пример на Python:

class Animal:
    def sound(self):
        pass

class Dog(Animal):
    def sound(self):
        return "Гав"

class Cat(Animal):
    def sound(self):
        return "Мяу"

animals = [Dog(), Cat()]
for animal in animals:
    print(animal.sound())  # Поведение зависит от типа объекта

Здесь метод sound ведет себя по-разному в зависимости от конкретного объекта (собака или кошка).