【发布时间】:2020-02-18 17:43:18
【问题描述】:
如何从父类访问const变量?
我有一个 PI 常量,我想在 TCylinder 类中使用它,如何访问它?我知道我可以使用 Math.PI,但对于未来我想知道
class TCircle {
const double PI = 3.14;
private double radius;
public double Radius { get => radius; set => radius = value; }
public TCircle(double radius)
{
this.radius = radius;
}
public virtual double GetArea()
{
return PI * this.radius * this.radius;
}
class TCylinder : TCircle {
private double height;
public TCylinder(double radius, double height)
: base(radius)
{
this.height = height;
}
public override double GetArea()
{
return (2 * base.GetArea()) + (2 * PI * height);//want to access PI
}
}
【问题讨论】:
-
看看
protected关键字。 -
将其公开或受保护。或者更好的是,创建一个专门的类来公开你的常量。
-
顺便说一句,我强烈建议您开始遵循 .NET 命名约定,它不对类使用
T前缀。 -
@vc74: 或者使用已经存在的
Math.PI:) -
@JonSkeet True,除非 OP 真的希望 Pi 的值为 3.14