您的位置:首页 > 编程语言 > C#

C#中的类(Class)

2016-06-08 09:21 417 查看
using System;

namespace testClassApp
{
/// <summary>
/// Class1 的摘要说明。
/// </summary>
class Class1
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main(string[] args)
{
//
// TODO: 在此处添加代码以启动应用程序
//

double len = 2.5;
double wid = 3.0;
double rad = 4.1;
Rectangle aRect = new Rectangle();
aRect.length = len;
aRect.width = wid;
Circle aCirc = new Circle (rad);
Console.WriteLine ("Area of Rect is:{0}",aRect.Area ());
Console.WriteLine ("Area of Rect is:{0}",aRect.Area (2));
Console.WriteLine ("Area of Circ is:{0}",aCirc.Area ());
}
}

abstract class Shape                //抽象基类,不可实例化
{
public const double pi=3.14;    //常量
protected double x, y;            //私有,可继承变量

public Shape()                    //默认构造函数
{
x=y=0;
}
public Shape(double x,double y)    //带参数构造函数
{
this.x = x;
this.y = y;
}
public abstract double Area();    //抽象方法,需重载
}

class Rectangle: Shape
{
public Rectangle():base(){}
public Rectangle(double x, double y): base(x,y){}//使用基类构造函数
public  double Area()    //函数重载
{
return (x*y);
}
public  double Area(double x)    //函数重载
{
return (x*x);
}
public double length    //属性:矩形长度
{
get
{
return x;
}
set
{
if (value>0){x = value;}
}
}
public double width        //属性:矩形宽度
{
get
{
return y;
}
set
{
if (value>0){y = value;}
}
}

}

class Ellipse: Shape
{
public Ellipse(double x, double y):base(x,y){}//使用基类Shape的构造函数
public override double Area()    //函数重载
{
return pi*x*y;
}
}
class Circle: Ellipse
{
public Circle(double r):base(r,0){}    //使用基类Ellipse的构造函数
public override double Area()    //函数重载
{
return pi*x*x;
}
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: