Car.hDois-je utiliser setters/getters en classe, je leur ai fait
#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
}
Alors, qui d'entre eux est mieux utilisation. _color = getRandomColor();
ou setColor(getRandomColor());
dans ce cas? Dois-je appeler setColor
fonction ou il est correct de changer directement _col
@user '_color' est – UnholySheep
privé Ils sont à la fois valides et seront probablement compilés au même code. Je pense qu'il pourrait être déroutant de commencer à lancer vos setters dans leur classe déclarée. De même, 'Car :: setColor' semble n'avoir aucune validation, en supposant que vous ayez une fonction' Car :: getColor' et que vous n'allez pas ajouter de validation à 'Car :: setColor' tous les setters/getters détruisent l'encapsulation de '_color', vous pourriez aussi bien ne pas en avoir du tout. – Geoff
@UnholySheep En effet, désolé..long jour – user