Sobes.tech
Junior — Middle

¿Puede explicar qué se entiende por interfaces en programación?

sobes.tech AI

Respuesta de la IA

En programación, la interfaz es un tipo abstracto que define un conjunto de métodos (y a veces propiedades) que una clase debe implementar. Las interfaces no contienen implementación, solo describen qué funciones deben estar disponibles.

En C++, la interfaz generalmente se implementa mediante clases abstractas con métodos virtuales puros:

class IShape {
public:
    virtual double area() const = 0; // función virtual pura
    virtual ~IShape() {}
};

class Circle : public IShape {
    double radius;
public:
    Circle(double r) : radius(r) {}
    double area() const override {
        return 3.1415 * radius * radius;
    }
};

De esta manera, la interfaz establece un contrato que todas las clases que la implementen deben cumplir. Esto permite escribir código que trabaja con objetos a través de la interfaz, sin conocer la implementación concreta.