[英]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.