码农小白 深入理解类 Ⅱ C#篇

本文详细解析了C#中的类概念,包括实例构造函数、对象初始化列表、析构函数、readonly修饰符及this关键字的使用。通过具体示例,帮助读者理解如何在C#中正确地初始化类实例、管理资源及操作实例成员。

深入理解类Ⅱ

1、实例构造函数

实例构造函数是一个特殊的方法

  • 构造函数是用于初始化类实例的状态
  • 构造方法没有返回值
class Myclass
{
	public Myclass()    //构造函数
	{
		...
	}
}
1、带参数的构造函数
  • 构造函数可以带参数,参数语法和其他方法相同
  • 同样构造方法也可重载
class Myclass
{
	public Myclass() {...}    //无参构造函数
	public Myclass(int a, int b) {...}    //带参构造函数
	public Myclass(int a, int b, string c) {...}    //构造函数的重载
}
2、默认构造函数

创建一个类,在没有定义构造方法时,系统会提供一个默认的构造函数

  • 它不带参数
  • 它的方法体为空
class A
{
	...
}

class Program
{
	static void Main()
	{
		A a1 = new A();    //使用默认构造方法
	}
}
3、静态构造函数
class A
{
	static A() {...}
}

2、对象初始化列表

C#中提供了对对象字段以列表形式初始化的方法

class Point
{
	public float X = 0;
	public float Y = 0;
}

class Program
{
	static void Main
	{
		Point point1 = new Point();
		Point point2 = new Point(X = 6; Y = 6);
		Console.WriteLine("point1: {0}, {1}", point1.X, point1.Y);
		Console.WriteLine("point2: {0}, {1}", point2.X, point2.Y);
	}
}

输出结果

point1: 0, 0
point2: 6, 6

3、析构函数

析构函数执行在类的实例被销毁之前需要的清理或释放非托管资源的行为

class A
{
	~A() {...}
}

4、readonly修饰符

  • readonly 同 const 修饰符一样,被声明后就无法改变
  • const 只能在声明时初始化,而readonly 可以在任何位置赋值
readonly int var1 = 8;    //声明时初始化
readonly float var2;    //声明时不初始化

5、this 关键字

this关键字在类中使用,是当前实例的引用。
它只能在以下类成员中使用

  • 实例构造函数
  • 实例方法
  • 属性和索引的实例访问器
  • 用于区分类成员和本地变量或参数
  • 作为调用方法的实参
class Point
{
	public float X = 0;
	public float Y = 0;
	public void ChangePoint(float x, float y)
	{
		this.X = x;    //区分本地变量和参数
		this.Y = y;    //区分本地变量和参数
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值