C#中的类(Class)
2008-04-11 16:30
489 查看
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 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 override double Area() //函数重载
{
return (x*y);
}
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;
}
}
}
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 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 override double Area() //函数重载
{
return (x*y);
}
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;
}
}
}
相关文章推荐
- C#详解struct和class的区别
- Unity3D + C#: Cloning the Content of a Serializable Class
- c# 如何在类(class)和结构体(struct)之间做选择
- Arcengine,C#获得FeatureClass的坐标系ISpatialReference--简单技巧
- DataTable C# Class
- Calling C++ Unmanaged Class from C#
- C# Windows Phone App 开发,自制LockScreen 锁定画面类别(Class),从【网路图片】、【Assets资源】、【UI】修改锁定画面。
- C#面象对象学习:类(class)与结构(struct)
- C# 中Struct与Class区别
- C# Idioms: Enum还是Enum Class(枚举类)
- C# 中那些常用的工具类(Utility Class)(二)
- 关于 c# 的 Partial Class
- C#中Internal class与静态类说明
- C# 中WebService返回类型(string,int,bool,DataSet,class实体类)示例
- C#Xml To Class生成器
- C#中的partial class(部分类)(转)
- [导入]Struct 和Class的区别,在C#中
- C#的两种数据类型延伸之三--struct和class
- C# class示例 0012
- C#下没有注册类 (异常来自 HRESULT:0x80040154 (REGDB_E_CLASSNOTREG))