[英]Setters and getters in C++
来自Java
,我习惯这样做:
void setColor(String color) {
this.color = color;
}
但是,我最近切换到C++
,我看到了很多这样的:
void setColor(string c) {
color = c;
}
为什么不呢? 这不推荐?
void setColor(string color) {
this->color = color;
}
这是完全相同的事情。 在Java中,如果您已将参数c
命名为c
而不是color
,则不会有任何阴影,您可以轻松编写
void setColor(String c) {
color = c;
}
在this
用Java(或C ++为此事)只需要指定究竟哪些color
你指的是:成员变量或局部变量。
没有必要使用this
,因为本地变量和成员变量之间没有冲突,也没有隐藏任何字段。 一般来说,你不希望这个冲突根本没有与构造函数参数相同的变量发生,也不希望发生局部变量(尽管很多书都教你这个)。 我发现这更平滑(即使你没有特定语言的背景,也更易读):
private String localColor;
void setColor(String color) {
localColor = color;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.