所以我有我的子类Line继承了我的父类Point并且我没有在我的子类中使用我的基类的构造函数但是我得到了这个错误:
'Shape.Point'不包含带0参数的构造函数
这是我的父类:
public class Point
{
public Point(int x, int y)
{
X = x;
Y = y;
}
public int X { get; set; }
public int Y { get; set; }
}
这是我的孩子班:
public class Line : Point
{
public Point Start { get; set; }
public Point End { get; set; }
public double Lenght { get; set; }
public Line(Point start , Point end)
{
Start = start;
End = end; ;
}
public double Calculate_Lenght()
{
Lenght = System.Math.Sqrt((End.X - Start.X) ^ 2 + (End.Y - End.X) ^ 2);
return Lenght;
}
}
答案 0 :(得分:1)
您使用Point
进行扩展,其中包含
public Point(int x, int y)
{
X = x;
Y = y;
}
在Line
中,您必须调用此构造函数或实现它
无论
public Line(int x, int y)
{
}
或
public Line(Point start, Point end)
: base (...)
{
}
虽然这似乎毫无意义,但我猜你真的不希望Line
延伸到Point
。
或者,如果Point有一些你想要继承的常用功能,你可以给Point一个无参数的构造函数。