抽象类和接口
例题:创建一个Shape(形状的抽象类)在类里定义一抽象方法 getArea()和一常量PI,让Triangle(三角形),Rectangle(四边形),Circle(圆形)等形状继承Shape类,并在子类中实现getArea()方法。
static void Main(string[] args)
{
Triangle T = new Triangle();
T.a = int.Parse(Console.ReadLine());
T.b = int.Parse(Console.ReadLine());
T.c = int.Parse(Console.ReadLine());
Console.WriteLine("三角形的面积是:" + T.GetArea());
Rectangle r = new Rectangle();
r.d = int.Parse(Console.ReadLine());
r.e = int.Parse(Console.ReadLine());
Console.WriteLine("四边形的面积是:" + r.GetArea());
Cirle c = new Cirle();
c.P = double.Parse(Console.ReadLine());
Console.WriteLine("圆的面积是:" + c.GetArea());
}
abstract class Shape
{
public double PI = 3.14;
public abstract double GetArea();
}
class Triangle : Shape
{
public int a { get; set; }
public int b { get; set; }
public int c { get; set; }
public override double GetArea()
{
double p = (a + b + c) / 2;
return Math.Sqrt((p - a) * (p - b) * (p - c));
}
}
class Rectangle : Shape
{
public int d { get; set; }
public int e { get; set; }
public override double GetArea()
{
double o = d * e;
return o;
}
}
class Cirle : Shape
{
public double P { get; set; }
public override double GetArea()
{
double P1 = PI * P * P;
return P1;
}
}