C#学习9
C#学习9:类与对象
类与构造函数的使用,建一个圆形类,半径默认为0,count统计有几个圆
[csharp]
//Circle.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Cambridge
{
class Circle
{
public int radius;
public static int count=0; //只有类名可以使用count
public Circle() //构造函数
{
radius = 0;
count++;
}
public Circle(int t) //重载构造函数
{
radius = t;
count++;
}
public double Area()
{
return Math.PI * radius * radius;
}
}
}
//Program.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Cambridge
{
class Program
{
static void Main(string[] args)
{
Circle c1,c2;
c1 = new Circle();
double area1 = c1.Area();
Console.WriteLine(area1);
c2 = new Circle(10);
double area2 = c2.Area();
Console.WriteLine(area2);
Console.WriteLine("圆的数量为"+Circle.count);
}
}
}
建一个点类,输入点的坐标,求该点到原点的距离
[csharp]
//Point.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Cambridge
{
class Point
{
private int x;
private int y;
public Point()
{
x=0;
y=0;
}
public Point(int a,int b)
{
x=a;
y=b;
}
public double Dis(Point p) //参数为对象
{
int xdif = x - p.x;
int ydif = y - p.y;
return Math.Sqrt(xdif * xdif + ydif * ydif);
}
}
}
//Program.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Cambridge
{
class Program
{
static void Main(string[] args)
{
int x1 = int.Parse(Console.ReadLine());
int y1 = int.Parse(Console.ReadLine());
Point p1 = new Point();
Point p2 = new Point(x1, y1);
double ans = p2.Dis(p1);
Console.WriteLine("该点与原点的距离为" + ans);
}
}
}
部分类
部分类定义,简言之,就是使用部分类定义,使类的定义横跨多个文件。
例如:可以把字段、属性和构造函数放在一个文件中,而把方法放在另一个文件中。
为此,只需在每个包含部分类定义的文件中对类使用partial关键字即可。
在一个项目中新建两个类,Circle1.cs,Circle2.cs,Program.cs可以调用者这两个类
[csharp]
//Circle1.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace cam
{
partial class Circle
{
public Circle()
{
this.radius=0;
}
public Circle(int t)
{
this.radius=t;
}
}
}
//Circle2.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace cam
{
partial class Circle
{
public int radius;
public double Area()
{
 
补充:软件开发 , C# ,