类是为了描述现实世界里面的对象所用的一种语法表示,是一种人类思维的抽象。
这里的对象主要是指用计算机语言来描述现实中的事物。是将会被实例化的对象。
一个现实的对象必然在我们人类的分类下,有很多属性,比如就拿人来说,一个人有很多属性,有年龄、姓名、性别等等,在c#里面就可以用类、结构体、等语法来描述表示一个人的信息,但是人不仅仅有属性,还有行为,比如说能够唱歌,能够跳舞等。结构体显然描述行为是不方便的,结构体主要是存数据的,刚好类就具有用函数来描述对象行为的功能,因此类就是描述对象的最佳实践。
类语法 使用 class 关键字 和 语句块来描述,声明一个类如下实例
public clsss Person
{
string Name;
int Age;
bool Sex;
public void Dance()
{
//跳舞
Console.WriteLine("I Can Dance!");
}
public void Sing()
{
//唱歌
Console.WriteLine("I Can Sing!");
}
}
如何使用一个类去生成一个对象呐?
使用 new 关键字即可
Person zhangShan = new Person();
zhangShan.Dance();
//zhangShan这个对象刚刚就跳了一个舞蹈
类的默认访问标识符是 internal,成员的默认访问标识符是 private。这些符号掌管着类、类成员访问符
一般类的访问我一般写的是 public
我们简单讨论一下 类成员的访问 标识符
public clsss Person
{
public string Name = "张珊";
public int Age;
private bool Sex;
public Person()
{
}
public void Dance()
{
//跳
Console.WriteLine("I Can Dance!");
}
public void Sing()
{
//唱
Console.WriteLine("I Can Sing!");
}
private void Rap()
{
//Rap
Console.WriteLine("I Can Rap!");
}
}
我们在使用时,知道下面这些情况就了解啥意思了
Person zhangShan = new Person();
//正确
zhangShan.Dance();
zhangShan.Sing();
var name = zhangShan.Name;
var age = zhangShan.Age;
//错误-不能访问
zhangShan.Rap();
zhangShan.Sex();
类的 构造函数 是类的一个特殊的成员函数,当创建类的新对象时执行。也就是只执行一次
构造函数的名称与类的名称完全相同,它没有任何返回类型。
public clsss Person
{
//............
public Person(/*可跟参数*/)
{
//...........
//初始化某些值,
}
}
类的 析构函数 是类的一个特殊的成员函数,当类的对象超出范围时执行。也即是自动调用我们不要、也不许手动调用
析构函数的名称是在类的名称前加上一个波浪形(~)作为前缀,它不返回值,也不带任何参数。
析构函数用于在结束程序(比如关闭文件、释放内存等)之前释放资源,
```csharp
public clsss Person
{
//............
public Person(/*可跟参数*/) //构造函数
{
//...........
//初始化某些值,
}
~Person(/*不可跟参数*/) //析构函数
{
//...........
//初始化某些值,
}
}