用c#定义一个抽象类Shape,由它派生出两个子类:长方形rectangle和正方形类square,

2024-12-12 21:49:51
推荐回答(1个)
回答1:

public abstract class Shape
{
    public virtual double ComputeCircumference()
    {
        return 0;
    }
    
    public virtual double ComputeArea()
    {
        return 0;
    }
}

public class Rectangle : Shape
{
    public double Width
    {
        get;
        set;
    }
    
    public double Height
    {
        get;
        set;
    }
    
    public override double ComputeCircumference()
    {
        return (this.Width + this.Height) * 2;
    }
    
    public virtual double ComputeArea()
    {
        return this.Width * this.Height;
    }
}

public class Square : Shape
{
    public double Width
    {
        get;
        set;
    }
    
    public override double ComputeCircumference()
    {
        return this.Width * 4;
    }
    
    public virtual double ComputeArea()
    {
        return this.Width * this.Width;
    }
}