C++ getters, bunu yapmaya alışkınımSetters ve <code>Java</code> geliyor
void setColor(string c) {
color = c;
}
Neden bu değil? Bu tavsiye edilmiyor mu?
void setColor(string color) {
this->color = color;
}
C++ getters, bunu yapmaya alışkınımSetters ve <code>Java</code> geliyor
void setColor(string c) {
color = c;
}
Neden bu değil? Bu tavsiye edilmiyor mu?
void setColor(string color) {
this->color = color;
}
Tam olarak aynı şey. Java'da Eğer parametre c
yerine color
adlandırılmış olsaydı, herhangi bir gölgeleme olmazdı ve kolayca
void setColor(String c) {
color = c;
}
Java this
(veya C++ bu konuda) yazabilirsiniz sadece hangi color
tam belirtmek için gereklidir Üye değişkenini veya yerel değişkeni belirtiyorsunuz.
Yerel ve üye değişkeni arasında çakışma olmadığından ve hiçbir alan gizlenmediğinden, this
kullanılmasına gerek yoktur. Genel olarak, bu çatışmanın, bir yapıcı parametresiyle aynı değişkene sahip olmamanız ve yerel değişken olarak (pek çok kitaba rağmen size tam olarak öğretmesine rağmen) gerçekleşmesini istemezsiniz. (Belirli dilden altyapıya sahip olmasa bile ve ayrıca daha okunabilir) Bunu bulmak çok daha pürüzsüz:
private String localColor;
void setColor(String color) {
localColor = color;
}
Onun daha az yazı. Bunu C++ 'da kullanmak zorunda değilsiniz, ancak bunu kullanmanızın sizi durduran hiçbir şey yoktur. – NathanOliver
@NathanOliver ne dedi. Aynı zamanda, eğer aynı isim değilse, 'bunu 'kullanmanız gerekmez. – 3kings
Görüyorum ki, açıklık açısından bunu açıkça kullanmak isterim. Bunun için ceza yoktur. – user1529412