C#学习第三天
1.面向对象:描述一个对象,通过描述这个对象的属性与方法;
我们把具有相同属性和相同方法的对象封装在一起,抽象出来,形成一个类;
对象是根据类抽象出来的;
2.类:
【public/private/protected】 class 类名
{
字段1;
字段2;
-------;
属性1;
属性2;
-------;
方法1;
方法2;
-------;
}
字段:Field
属性:Property
方法:Method
写好一个类后,需要创建类,创建类的过程叫做类的实例化,用关键字new;
this表示当前这个类的对象;
类不占内存,但是对象占内存,因为类相当于一个模板,而对象是根据这个模板实例化出来的数据;其次,类里面的字段会自动赋初值0,所以实际上是字段占的内存;
3.属性:保护字段,对字段的赋值与取值做限定;
比如有一个年龄字段,那么显然年龄就不能为负数;
属性的本质就是get与set两个方法;
4.访问修饰符:
public:在类里面和类外面都可以使用
private:只能在这个类里面使用
5.静态与非静态:
区别:
在非静态类中可以出现静态成员,也可以出现非静态成员(实例化成员);
在调用实例成员时,需要使用对象.实例成员;
在调用静态成员时,需要使用类.静态成员名;所以说在静态类里面无法创建实例对象;
在静态函数中,只能访问静态成员,不能访问实例成员;
在实例函数中,既能访问静态成员,也能访问实例成员;
使用:
如果想将某个类当作一个“工具类”去使用,那么就可以考虑将这个类封装成静态类;
静态类在整个项目中资源共享;
6.构造函数:初始化对象
构造函数没有返回值,void也不能写;
构造函数的名称必须和类名一样;
在实例化对象的时候就可以直接在后面括号里面初始化参数,参数顺序和构造函数里面形参的顺序一样;
构造函数可以重载;
类会自动创建一个没有参数的构造函数,但是如果自己写了一个构造函数,无论有没有参数,类自动创建的构造函数都会被替代;
7.this关键字:
表示当前类的对象;
在类当中显示的调用本类的构造函数 :this
8.析构函数:
~类名()
{
}
当程序结束时才会执行,帮助我们释放资源,否则由垃圾回收器自动回收资源
9.命名空间:用来解决类的重名问题
命名空间可以认为是类的文件夹如果在当前项目中没有这个类的命名空间,则需要手动导入命名空间--->Alt+Shift+F10,或者鼠标点击;
在一个项目中引用另一个项目中的类:
添加引用(右击项目目录,选择添加引用)--->引用命名空间(Using 项目名)
10.值类型与引用类型:
值类型与引用类型在内存上存储的地方不一样:值类型的值存储在类型的栈中,引用类型的值存储在类型的堆中;引用类型的名称存储在栈中,其中存储的是引用类型的地址。值类型:int,double,decimal,bool,enum,char,struct
引用类型:string,自定义类
posted on 2022-11-10 11:01 xy-struggle 阅读(30) 评论(0) 收藏 举报
浙公网安备 33010602011771号