namespace inheritance
{
public abstract class Shape
{
private string shapeId;
private float length;
public Shape(string s)
{
shapeId = s;
}
public string Id
{
get
{
return shapeId;
}
set
{
shapeId = value;
}
}
public abstract double Area
{ get;
}
public override string ToString()
{
return Id + "Area = " + string.Format("{0:F2}", Area);
}
}
}
正如你所看到的,我已经覆盖了ToString
方法。
这是我的子类:
namespace inheritance
{
public class Circle : Shape
{
private double area;
public Circle(string s) : base (s)
{
//ShapeId = s;
}
public override double Area
{
get
{
area = 50 * 50 * Math.PI;
return area;
}
}
}
}
这是我的主:
namespace inheritance
{
class Program
{
static void Main(string[] args)
{
Shape circle = new Circle("circle");
circle.ToString();
Console.Read();
}
}
}
问题是,当我称之为ToString
方法,没有打印到控制台。我正在进行实践练习,但是一些示例代码的说明很糟糕。基类是示例代码,缺乏相当多的可用(例如,必须在变量中进行硬编码)。我会添加更多的变量,但这个练习的重点是继承,我试图确定我是否愚蠢或缺少指令。
我曾经学习Java,也想知道我是否正确创建了Area
方法,例如使用get{}
和set{}
。 ToString
方法与以下相反还有什么意义?
Console.WriteLine("bla bla bla");
你的意思'Console.WriteLine(circle.ToString());'(了'的ToString()'甚至没有的方式需要) –