class Program
{
static void Main(string[] args)
{
Car car = new Car();
car.DoSmothing(120);
Console.WriteLine(car.Speed);
Console.Read();
}
class Car
{
private double speed;
public void DoSmothing(int sp)
{
this.speed = sp;//为什么还可给只读字段赋值?
}
public double Speed
{
get
{
return speed;
}
}
}
}
没有什么叫只读字段,你所说得赋值是类的私有成员,对外不可访问。
而Speed是对外公共的属性,属性有set和get,当没有设置set的时候表示这个属性是只读的不能改写。
speed在Car类下都可以访问和赋值,但是不能外部访问,Speed可以对外访问但是不能复制(属于叫公有只读属性)