我正在用 C++ 编写一个程序,考虑到面向对象的设计,它在数据库中保存二手车的记录。我有一个按年份对汽车进行排序的函数,但该函数应该是其自身类中的方法、汽车类中的方法,还是任何类之外的函数?我们被教导说在面向对象设计中,一切都应该在它自己的类中,并且每个类应该只有一个责任,所以我倾向于将函数作为它自己类中的方法,但这似乎没有必要。我应该怎么办?
最佳答案
它应该是一个独立的函数,而不是任何类的成员。像这样:
void sortCars(Car * lot, unsigned int numCars)
...
将它包装在一个没有其他成员的类中是没有意义的;这样做不会解决任何问题,也不会让任何事情变得更容易。
让它成为 Car
的成员是没有意义的,这样做会让它访问它不需要的类的私有(private)成员,这是自找麻烦。
“一切都应该属于自己的类别”是一个粗略的准则,更适用于名词 (Car
) 而不是动词 (sortCars
)。
关于c++ - C++ 中的 OOD : Having a class with just one method?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29762971/