C#多态性综合举例-形状面积

C#多态性综合举例-形状面积

写一个抽象类Shape,包含抽象方法getArea()计算面积。再写Rectangle矩形类和Circle圆形类继承Shape并实现面积计算方法。

namespace T
{
    
    
    // 父类
    abstract class Shape
    {
    
    
        public double x, y;
        public Shape(double x,double y)
        {
    
    
            this.x = x;
            this.y = y;
        }

        public abstract double getArea();
    }

    // 子类1
    class Rectangle : Shape
    {
    
    
        public Rectangle(double w, double h) : base(w, h) {
    
     }
        public override double getArea()
        {
    
    
            return x * y;
        }
    }

    // 子类2
    class Circle : Shape
    {
    
    
        public Circle(double r) : base(r, r) {
    
    }
        public override double getArea()
        {
    
    
            return 3.14 * x * x;
        }
    }

    class Test
    {
    
    
        public static void Main()
        {
    
    
            var r = new Rectangle(10, 5);
            var c = new Circle(10);
            Console.WriteLine($"r area : {
      
      r.getArea()}");	// 50
            Console.WriteLine($"c area : {
      
      c.getArea()}");	// 314
        }
    }

}

猜你喜欢

转载自blog.csdn.net/qq_22328011/article/details/128180284