我最初发布的问题是缺乏的,所以这里是一个解释,我希望能让每个人都满意,并取消我收到的一些反对票。
我想在一个类中有一个智能,随着实例的创建,根据某种逻辑,决定该实例属于不同的类,该类是该类的子类之一。
更具体地说,我正在制作一个Magic Square求解器作为学习练习,并且:
- 我想要一个
MagicSquare
包含 MagicSquare 逻辑的类。 - 我想拥有该类
OddMagicSquare
的EvenMagicSquare
子类,它们将包含解决这两种类型的魔方的逻辑。 - 我希望能够调用 a 的创建
MagicSquare
,提供它的大小,n
并让智能MagicSquare
确定要创建哪个子类的实例,而不是通用的顶级类MagicSquare
。
我知道确定创建哪个子类 ( OddMagicSquare
/ )的EvenMagicSquare
实例的智能可以在. 我希望它在里面的原因可能是一种直觉。我有一种预感,这样会更干净整洁,因为在我看来,确定某个魔方是哪种魔方的逻辑属于班级。MagicSquare
MagicSquare
MagicSquare