C# 基础(二)
C# 基础(二)
一:类的基本组成与对象
1)类的访问修饰符
- 作用:限制这个类可被使用的范围。
- 类型:只有两个(public和internal)
2)类成员访问修饰符
- 作用:限制类的字段、属性、方法的可访问范围。
- 类型:private(私有的,仅供类的内部使用)、public(公有的,可以通过对象从外面使用
二. 属性和字段
3)属性的使用
- 作用:在OOP中主要用来封装数据。
- 要求:一般采用Pascal(大驼峰)命名法,数据类型和字段要一致,使用public修饰
4)属性的定义
- 读取:属性通过get方法,返回私有字段的值。
- 赋值:属性通过set方法,借助value给私有字段赋值。
- 本质:属性本身,其实没有保存数据!只是一个数据访问入口,而字段才是真正的数据存储单元!
5)扩展:在属性get和set方法中添加业务逻辑
在get和set方法中可以添加任何我们需要的业务逻辑,从而有效避免非法数据
6)根据需要设置为只读属性
属性和字段的总结:
字段(成员变量)
- 内部使用:字段主要是为类的内部做数据交互使用,字段一般是private的。
- 数据存储:字段只是用来保存数据,如果不是静态字段,声明周期与对象共存亡!
- 读写不限:我们即可以给字段赋值,也可以获取字段的值。 (非常常用) (readonly除外)
属性(字段封装)
- 外部使用:属性一般是向外提供数据访问,主要是用来描述对象的静态特征,所以属性一般是public的。
- 业务扩展:属性内部可以添加任何我们需要的业务逻辑,从而避免非法数据。
- 读写可控:属性可以根据需要设置为只读属性,更好的体现面向对象的“封装特性”!也就是安全性!
使用
- 常规化使用:对象本身的“对外”数据保存,都是通过属性完成,调用者都可以使用!
- 强制性使用:公有化的字段,在很多时候,数据无法解析(比如dgv、combobox的显示问题)
三. 方法
1)关于方法
概念:方法表示这个对象能够做什么,也就是封装了这个对象行为。
类型:实例方法⇢静态方法⇢(抽象方法、虚方法)⇢特殊的:构造方法(对象创建的时候使用)
一个类中,如果没有显式的写出任何构造方法,编译器会默认生成一个无参数的构造方法!
我们也可以随时显式的添加一个无参数的构造方法。
2)构造方法的使用
构造方法有什么作用?
- 因为构造方法是在对象创建的时候被调用的,所以,我们在创建对象的时候可以完成一些初始化的任务。
- 初始化:包括给对象的属性赋值,或从其他对象、文本等获取基础数据
构造方法的类型
- 无参数的构造方法:通常是用来直接初始化对象的属性或“某些不变的数据”。
- 有参数的构造方法:让对象创建者,自己传递要初始化的相关数据。
3)析构函数
析构函数的使用,当使用delete关键字删除对象时,析构函数会自动调用
托管运行环境下对象的销毁由虚拟机负责,析构函数没多大用途
垃圾回收机制(GC)
.NET虚拟机特有的机制,自动运行,并检查对象的状态。发现对象不被引用时,会将其释放所占空间(销毁)
GC的使用大大减轻了程序员手动释放对象的操作,且程序运行稳定
END