第1节 C#各种方法汇总
静态方法
1、特点:
(1)生命周期:创建---->应用结束
(2)全局
(3)效率高
2、作用:用户登录信息、系统配置信息、系统设置、SQLHelper
3、注意:静态的东西创建多了,占用内存会很大,不是必要情况不要创建静态的对象
4、调用:静态方法 不能直接调用 非静态方法,需要创建一个实例再调用
构造方法
1、特点:默认是一个无参的构造方法,可以多个并重载
2、作用:
(1)初始化对象
(2)初始化一些数据
析构方法(只能间接调用)
1、特点:一般,GC垃圾回收器在调用或者用Close()、Dispose()间接调用。
2、作用:释放对象
垃圾回收机制:
手动回收非托管资源——Windows窗口句柄、数据库链接、GDI对象、独占文件锁等等对象;ApplicationContext,Brush,Component,ComponentDesigner,Container,Context,Cursor,FileStream,Font,Icon,Image,Matrix,Object,OdbcDataReader,OleDBDataReader,Pen,Regex,Socket,StreamWriter,Timer,Tooltip等。
注:实例化一个对象,调用Dispose() 方法,若有Dispose方法,则为非托管资源。
非托管资源,需要打开(Open())和关闭(Close()),下面是有语法糖的方式
SqlConnection conn = new SqlConnection();
try
{
conn.Open();
}
catch(Exception)
{
throw;
}
finally
{
conn.Close();
}
3、Close() 和 Dispose() 的区别
(1)Close():关闭对象,没有完全释放
(2)Dispose():完全释放
虚方法(virtual)
父类的方法用 virtual 修饰,子类继承父类的方法并对其进行重写用 override 修饰。
1、特点:方便维护
2、作用:允许子类/派生类进行重写,以实现不一样的功能。
抽象方法(abstract)
1、定义:抽象方法一定写在抽象类里面,没有方法体 ,只是一个 规范,让子类的方法去实现。抽象类不能创建实例
2、使用场合:一定要实现后,才能使用
3、与接口在使用场合中的区别
区别:
(1)抽象类 -----> 单继承,接口 -----> 在一个类里面可以实现多个接口
(2)抽象类里可以写普通方法,虚方法等,接口只能写规范,不写实现。
使用场合:
(1)抽象类一般用于常用不经常改动,抽象范围大一些的事物。
(2)接口适用于经常修改,只是一个规范。
扩展方法
1、定义