0
点赞
收藏
分享

微信扫一扫

声明一个图形基类Shape,该类拥有用于存储Shape面积的属性S,以及用于计算面积的虚方法GetArea,由Shape类派生出Rectangle和Circle类,并在子类中重写GetArea方法分别

王小沫 2022-04-21 阅读 95
c#
 public class Shape
    {
        private float S;
        public float s
        {
            get
            {
                return S;
            }
            set
            {
                if(value>=0)
                {
                    S=value;
                }
            }
        }
        public virtual void GetArea()
        {
            Console.WriteLine();
        }
    }
    class Rectangle:Shape
    {
        float a,b;
        public Rectangle(float a,float b)
        {
            this.a=a;
            this.b=b;
        }
        public override void  GetArea()
        {
 	        base.GetArea();
            Console .WriteLine("矩形面积={0}",a*b);
         }
    }
    class Circle:Shape
    {
        float r;
        public Circle(float r)
        {
            this.r=r;
        }
        public override void  GetArea()
      {
 	       base.GetArea();
            Console .WriteLine ("圆形面积={0}",Math.PI*r*r);
       }
    }

    class Program
    {
        static void Main(string[] args)
        {
           float a,b,r;      
           Console.WriteLine("请输入矩形的长和宽:");
           a = float.Parse(Console.ReadLine());
           b = float.Parse(Console.ReadLine());
           Rectangle rectangle = new Rectangle(a, b);
           rectangle.GetArea();
           Console.WriteLine("请输入圆形的半径:");
           r = float.Parse(Console.ReadLine());
           Circle circle = new Circle(r);
           circle.GetArea();
       }
    }
举报

相关推荐

0 条评论