Car.h我應該用制定者/吸氣類我讓他們
#ifndef CAR_H
#define CAR_H
class Car
{
public:
void setColor(int color);
void colorCarWithRandomColor();
private:
int _color;
};
#endif
Car.cpp
#include "Car.h"
void Car::setColor(int color){
_color = color;
}
void Car::colorCarWithRandomColor(){
// Imagine that there is a function called getRandomColor and that returns random color.
_color = getRandomColor();
// or
setColor(getRandomColor());
// which one is correct
}
因此其中哪一個是更好地使用。 _color = getRandomColor();
或setColor(getRandomColor());
在這種情況下?我應該撥打setColor
函數還是直接更改_col
@user'_color'是私人 – UnholySheep
他們都是有效的,可能會被編譯到完全相同的代碼。我認爲可能會讓開始將你的二傳投擲到他們宣稱的階級中感到困惑。另外'Car :: setColor'似乎沒有驗證,假設你有一個'Car :: getColor'函數,並且不會爲'Car :: setColor'添加驗證,所有setter/getters都會破壞封裝'_color'你可能根本不會打擾他們。 – Geoff
@UnholySheep的確,對不起。很長一段時間 – user