/*
* Created by SharpDevelop.
* User: Administrator
* Date: 2010-12-17
* Time: 23:23
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using Microsoft;
namespace helloword
{
class dimesions
{
protected double x,y;
public const double PI=Math.PI;
public dimesions(){}
public dimesions(double x,double y)
{
this.x=x;
this.y=y;
}
//面积接口,不同的图形公式不同,默认为x*y
public virtual double area()
{
Console.WriteLine("面积函数,未被重写!");
return 0;
}
public virtual double girth()
{
Console.WriteLine("周长函数,未被重写!");
return 0;
}
}
class circle:dimesions
{
public circle(double r):base(r,0)
{
Console.WriteLine("构造圆!");
}
public override double area()
{
Console.WriteLine("圆的面积!");
return PI*x*x;
}
public override double girth()
{
Console.WriteLine("圆的周长!");
return 2*PI*x;
}
}
class square:dimesions
{
public square(double a):base(a,a)
{
Console.WriteLine("构造正方形!");
}
public override double area()
{
Console.WriteLine("正方形的面积!");
return x*x;
}
public override double girth()
{
Console.WriteLine("正方形的周长!");
return 4*x;
}
}
class rectangle:dimesions
{
public rectangle(double a,double b):base(a,b)
{
Console.WriteLine("构造长方形!");
}
public double area()
{
Console.WriteLine("长方形的面积!");
return x*y;
}
public override double girth()
{
Console.WriteLine("长方形的周长!");
return 2*(x+y);
}
}
class Program
{
public static void Main(string[] args)
{
circle c=new circle(4);
square s=new square(5);
rectangle r=new rectangle(3,4);
Console.WriteLine("{0:F3}",c.area());//F控制小数位数
Console.WriteLine("{0:F3}",c.girth());
Console.WriteLine("{0:F3}",s.area());
Console.WriteLine("{0:F3}",s.girth());
Console.WriteLine("{0:F3}",r.area());
Console.WriteLine("{0:F3}",r.girth());
Console.WriteLine("Hello World!");
Console.ReadKey(true);
}
}
}
转载于:https://blog.51cto.com/jornathan/459390