C# 面向对象编程:抽象类与继承 - 计算不同图形的面积
using System;
abstract class Shape
{
public abstract double CalArea();
}
class Triangle : Shape
{
private double n;
private double m;
public Triangle(double n, double m)
{
this.n = n;
this.m = m;
}
public override double CalArea()
{
return 0.5 * n * m;
}
}
class Rectangle : Shape
{
private double n;
private double m;
public Rectangle(double n, double m)
{
this.n = n;
this.m = m;
}
public override double CalArea()
{
return n * m;
}
}
class Circle : Shape
{
private double n;
public Circle(double n)
{
this.n = n;
}
public override double CalArea()
{
return Math.PI * n * n;
}
}
class Program
{
static void Main(string[] args)
{
Shape[] shapes = new Shape[3];
shapes[0] = new Triangle(5, 10);
shapes[1] = new Rectangle(4, 6);
shapes[2] = new Circle(3);
foreach (var shape in shapes)
{
Console.WriteLine('Area: ' + shape.CalArea());
}
Console.ReadLine();
}
}
输出结果:
Area: 25 Area: 24 Area: 28.2743338823081
原文地址: https://www.cveoy.top/t/topic/qqGo 著作权归作者所有。请勿转载和采集!