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(3, 4);
shapes[1] = new Rectangle(5, 6);
shapes[2] = new Circle(2);
foreach (Shape shape in shapes)
{
Console.WriteLine('Area: ' + shape.calArea());
}
}
}
输出结果: Area: 6 Area: 30 Area: 12.566370614359172
原文地址: https://www.cveoy.top/t/topic/qqDK 著作权归作者所有。请勿转载和采集!