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; } } }
相关文章推荐
- C# 按指定数量从前面或者后面删除字符串
- 把C#程序(含多个Dll)合并成一个Exe的超简单方法
- 浅谈.NET编译时注入(C#-->IL)
- C#学习札记——简单运算
- 装箱和拆箱
- C# SerialPort 读写三菱FX系列PLC
- OWIN和Katana入门
- 【C#】ref 和 out
- 使用C#写出一个简单的记事本程序
- 我的第一个C#
- win7升级到win10 VS2008打开项目问题
- C#获取当前行号
- 简单工厂模式
- 在c#中 RemoveAt、 Remove、delete用法区别
- C# kinect V2学习笔记(六)简单的2D换衣系统
- C# DataRow的扩展
- 委托的初步理解和用法
- 委托的初步理解和用法
- C# 操作pem 文件
- C# 特性