如果我用自动实现的属性重写以下代码,我理解我必须使用构造函数为变量分配初始值。
但覆盖方法会发生什么?当我删除它时,程序不会输出任何内容......
换句话说,如果我使用构造函数然后添加自动实现的属性,我就不能再使用rectangle
来打印出width
和height
。我可以吗?
using System;
namespace Rectangle_Solution
{
public class Rectangle
{
private int width = 5;
private int height = 3;
public int Width
{
get
{
return width;
}
set
{
width = value;
}
}
public int Height
{
get
{
return height;
}
set
{
height = value;
}
}
public override string ToString()
{
return "width = " + Width + ", height = " + Height;
}
public static void Main( string[] args )
{
Rectangle rectangle = new Rectangle();
Console.WriteLine( "rectangle details - {0}", rectangle );
rectangle.width = 10;
rectangle.height += 1;
Console.WriteLine( "rectangle details - {0}", rectangle );
}
}
}