.NET框架中的引用类型与值类型详解

需积分: 1 0 下载量 34 浏览量 更新于2024-08-23 收藏 1.67MB PPT 举报
"引用类型存储方式-北大青鸟6.0 .Net 第二章 理论ppt" 在.Net编程中,引用类型存储方式是对象在内存中的处理方式之一。引用类型不同于值类型,它们在内存中有不同的表现。值类型直接存储其实际值,而引用类型则存储对内存中对象的引用,也就是一个指向对象所在位置的指针。描述中的例子展示了引用类型的特性: ```csharp se1 se1.Age = 18 ``` 这里创建了一个对象`se1`,并给它的`Age`属性赋值为18。`se1`存储的是对象的引用,而不是对象本身。 ```csharp 引用类型存储对象的引用 se1 se2 se2 = se1 ``` 接着,创建了另一个引用`se2`,并将其设置为与`se1`相同的引用,这意味着`se2`和`se1`现在都指向同一个对象。 ```csharp se1 se2 se2.Age = 20 两个变量都发生变化 Age=18 Age=18 Age=20 ``` 当通过`se2`改变`Age`的值为20时,由于`se1`和`se2`引用的是同一对象,因此改变`se2`的`Age`属性会影响到`se1`,导致两者`Age`都变为20。这体现了引用类型的共享特性。 本章还涉及其他C#语言的关键概念: 1. **深入C#数据类型**:C#支持多种数据类型,包括值类型(如int、char)和引用类型(如类、接口)。值类型直接包含其值,而引用类型存储的是对象的地址。 2. **.NET框架结构**:包括公共语言运行时(CLR)和类库。CLR是.NET框架的核心,负责垃圾回收、类型安全和代码执行。 3. **VS2010快速引入命名空间**:可以通过“using”关键字快速引入所需命名空间,避免每次都完全指定类型名称。 4. **结构(Struct)**:结构是值类型,复制结构对象会创建其所有字段的副本。 5. **静态方法**:用`static`关键字标识的方法,属于类而不属于类的实例,可以直接通过类名调用。 本章的任务和目标旨在加深对类、对象、封装和方法调用的理解,并通过实践应用巩固这些概念。例如,绘制类图、实现项目经理评分功能、计算机编号分配以及投票器等,都是为了让学生能够熟练运用面向对象编程的思想。 此外,类的属性(如`Name`和`Age`)是类中封装数据的重要组成部分。`get`和`set`访问器提供了对字段的安全访问,可以进行数据验证。自动属性是C#的一个便捷特性,它允许编译器自动为属性生成私有字段,简化代码。例如,`public string Name { get; set; }`即为一个自动属性。 复习部分还提到了方法,它是类和对象行为的表示,包括参数、返回值和方法体。方法的定义和调用是编程中的核心操作,通过方法实现类的功能和逻辑。