Ben*_*gan 14 c# c++ java coding-style
我见过一些指南或博客说this用来访问班级自己的成员是不好的.但是,我也看到了一些专业人士正在访问的地方this.我倾向于明确使用this,因为它似乎清楚地表明我正在访问的东西是类的一部分.
this.MyProperty = this.GetSomeValue();
Run Code Online (Sandbox Code Playgroud)
使用有一些优点或缺点this吗?这只是一种风格偏好吗?
小智 13
如果它增加了代码的清晰度,则使用它,如果它没有.有一些地方确实增加了清晰度 - 例如在C++中:
struct Point {
int x, y;
Point & operator=( const Point & p ) {
this->x = p.x;
this->y = p.y;
return *this;
}
};
Run Code Online (Sandbox Code Playgroud)
在这种情况下,当你有两个相同类型的对象引用时,我发现使用this可以澄清事物(虽然注意在C++中上面的赋值运算符实现是没有必要的).
我总是使用this.它,因为它使代码在我看来更具可读性.它立刻就清楚了
base.)或覆盖成员(this.)this.Monster.Legs.Run();vs Monster.Legs.Run();)成员的调用.从使用了this多年,到发现没有多少人(至少根据我的经验)使用它,我最终改变了。我可以看到使用更少的代码的好处:
_myVar表示私有变量,它们不需要 a,this因为它们始终是成员变量。例如
someclass.Method(1);
SomeClass.StaticMethod(1);
Run Code Online (Sandbox Code Playgroud)
我可以看到,如果您不使用下划线命名约定,并且拥有一个带有沉重主体的大型方法,则可能会导致一些混乱。
静态方法或属性有时会造成混乱,但这种情况很少见。
显然,在传递引用时您总是需要this关键字,例如:
someclass.Method(this);
var someclass = new SomeClass(this);
Run Code Online (Sandbox Code Playgroud)
(我写C#,但我的答案与Java有关)
| 归档时间: |
|
| 查看次数: |
854 次 |
| 最近记录: |