Создание простого консольного ООП-приложения любой тематики

Всем привет, нужна помощь в создании простого консольного приложения. Вот несколько условий:

1. Использовать возможности ООП: классы, наследование, полиморфизм, инкапсуляция.

2. Не использовать графический интерфейс! Приложение должно быть консольным.

3. Не использовать внешние источники данных: файлы, СУБД, XML.

4. Данные инициализации объектов передавать с помощью конструктора, функции или метода.