Se podría desarrollar una aplicación para gestionar productos de una tienda. En este caso, se puede crear una clase base llamada Producto, que contenga atributos generales como nombre, precio y cantidad disponible. A partir de esta clase, se pueden crear otras clases que hereden sus características, como ProductoFisico y ProductoDigital, cada una con propiedades o métodos específicos según su tipo.
El encapsulamiento se aplicaría al declarar los atributos como privados y permitir el acceso a ellos mediante métodos getter y setter, protegiendo así la información interna de las clases. La herencia permitiría reutilizar los atributos y métodos de la clase Producto en las clases derivadas, evitando duplicar código. Además, el polimorfismo podría utilizarse al definir métodos que se comporten de forma diferente dependiendo del tipo de producto, como un método para calcular el precio final o los costos de envío.
Finalmente, se puede crear una clase principal con el método main, donde se instancien diferentes productos y se prueben sus métodos para verificar el funcionamiento de la aplicación. De esta manera, se consolidan los conocimientos adquiridos sobre programación orientada a objetos y se aplican en una aplicación práctica y organizada.