用于介绍 OO 项目的好问题域吗?

Kal*_*see 1 java oop

我正在和一个在从事了几年 IT 支持工作后希望重新回到编程领域的人一起工作。他们了解所有迭代编程基础知识并经常使用它们,但他们唯一的面向对象编程经验是在大学里。目标是提出一个规模合适的项目,有利于阐释和实践 OO 概念。有没有人曾经使用过或想到过一个好的问题域来介绍 OO?我正在寻找一个领域,其中继承、抽象和多态性等概念确实有意义,并且在使用类进行建模时提供了优势。

当然,我做了一些谷歌搜索,找到了流行的ATM 和地址簿 OO 示例。它们都很好,但 ATM 比我想要的要复杂一点。地址簿可能还不错,但我认为它可能不够复杂,或者对于建模对象来说不够清晰的领域。该项目的目标是需要付出相当大的努力才能完成,而不是一两个下午就能完全完成的事情。

至于实现细节,该项目将作为一个具有最小 UI 的 Java 控制台应用程序来实现。学习 OO 概念以及如何在 Java 中实现它们是此应用程序的主要目的。