类 (class) 是基础的 C# 类型。类是一个数据结构,将字段和方法等,组合在一个单元中。
1、定义类
定义类一般包括:修饰符、class、类名
没有修饰符,则默认为私有类
//定义 学生类
class Student
{
//数据-变量
public string name;
public int age;
//行为-方法
public void SayName()
{
Console.WriteLine("我是:" + name);
}
}
//矩形类
class Rect
{
//数据
public float l;//长
public float w;//宽
//行为
public float GetArea() //求面积
{
return l * w;
}
public float GetPerimeter() //求周长
{
return (l + w) * 2;
}
}
类一般包含类成员、类方法等等
2、创建对象
Student s1 = new Student();//创建一个学生对象
Rect rect1 = new Rect();//创建一个矩形对象
3、访问修饰符
访问修饰符 | 访问限制 |
---|---|
public | 公开的,没有访问限制 |
private | 私有的,只能在本类内部访问,子类以及实例都不能访问 |
protected | 受保护的,仅限于本类和子类访问,实例不能访问 |
internal | 程序内部的,仅限于本项目内访问 |
protected internal | 程序内部受保护的,仅限于本项目或者子类访问 |
4、构造函数
构造函数:不写返回值,其方法名和类名相同
在创建对象时,会自动调用构造函数,如果有父类,则会先调用父类构造函数。构造函数主要用于初始化成员变量。
如果我们不写构造函数,系统会提供一个默认构造函数。写了构造函数则不会再提供。
class MyClass
{
public int x;
public int y;
public int z;
public MyClass()
{
}
public MyClass(int x,int y) //我们写的有参数的构造函数
{
this.x = x;
this.y = y;
}
public MyClass(int x, int y, int z) :this(x,y)
{
this.z = z;
}
}
其中的 :this() 是调用兄弟构造函数,即调用上面的
public MyClass(int x,int y)
{
this.x = x;
this.y = y;
}
避免重复代码。