我在为Point数据类型的参数设置默认值时遇到问题。Point数据类型我初始化如下:
public class Point
{
private double x = 0, y = 0;
public Point(double x = 0, double y = 0)
{
this.x = x;
this.y = y;
}
}
然后我构建矩形类,如下所示:
public class Rectangle {
protected Point start = new Point();
private double width = 0, height = 0;
}
但是我不能像这样构建矩形的constructor
:
public Rectangle(Point p = null , double w = 0, double h = 0)
{
this.start = p;
this.width = w;
this.height = h;
}
问题是矩形的起点会得到值null
,但我不能为起点指定任何其他特定的值。我该怎么办?
private Point p {get; set;} = new();
这将创建一个名为p的属性,该属性的类型为Point。获取、设置和调用,使其成为您指定的任何值。结尾的new((是如果什么都不赋值就会发生的情况。变量的默认状态是一个新的Point((对象。显然,如果Point需要,可以在新构造函数中添加一些默认参数