从私有方法和公共方法调用成员/字段的最佳做法是什么?私有方法是应该总是调用私有字段还是应该调用公共成员?
private string _name;
public string Name
{
get {return _name; }
set { _name = value; }
}
public void DoSomething()
{
_doSomething();
}
private void _doSomething()
{
_name.ToLower();
}
Run Code Online (Sandbox Code Playgroud) 为对象定义属性而不是直接访问私有变量有什么好处?
代替 :
public class A
private _x as integer = 0
Public property X() as integer
Get
return _x
End Get
Set(ByVal value As integer)
_x = value
End Set
End Property
end class
Run Code Online (Sandbox Code Playgroud)
为什么我们不能做以下事情:
public class A
public _x as integer = 0
end class
Run Code Online (Sandbox Code Playgroud)
有什么好处?
只是好奇,假设设置了attr_accessor,从类中访问实例变量的最佳实践是什么.
class Test
attr_accessor :user
def initializer(user)
@user = user
end
def foo
@user
end
end
Run Code Online (Sandbox Code Playgroud)
要么
class Test
attr_accessor :user
def initializer(user)
@user = user
end
def foo
self.user
end
end
Run Code Online (Sandbox Code Playgroud)
那么通过实例变量(@user)或getter方法(Test#user)?
这样做之间的区别是什么
public string Title { get; set; }
Run Code Online (Sandbox Code Playgroud)
还有这个:
public string Title;
Run Code Online (Sandbox Code Playgroud)
回到那一天,人们总是说使用访问器方法和公共访问器调用的私有变量,现在.net已经得到了get; 组; 如此简化的语句,如果没有私有变量,它们看起来几乎相同,只是使用一个公共变量,那么重点和区别是什么?