在C#编程中,类是面向对象编程的基础,用于封装数据和行为。类的定义涉及多个关键概念,包括修饰符、成员(方法、字段和属性)、访问控制、验证、构造器以及静态成员等。 1. 类修饰符: C#中的类默认修饰符为`private`,意味着类的成员(包括字段、方法)在其自身内部可以被访问。若需要外部访问,可以通过`public`修饰符来改变其可见性。 2. 成员定义: - **方法**:与Java类似,C#中定义方法遵循相同的语法结构,如`public void MyMethod() {}`。 - **字段名**:C#中的字段采用驼峰命名法,类似于属性,但通常在前面加上下划线 `_` 作为私有字段的标识,例如`private string _fieldName`。 - **属性**:属性是字段的封装,包含getter(获取值)和setter(设置值)。简化后的语法是: ```csharp private type _fieldName; public type fieldName { get { return _fieldName; } set { _fieldName = value; } } ``` - **验证**:为了防止因空值(null)导致的逻辑错误,可以在setter中添加验证代码,如`if (string.IsNullOrEmpty(value)) throw new ArgumentNullException();`。 3. 访问控制: - **只读操作**:使用`private set;`限制字段的可写性,仅提供getter。 - **只写操作**:反之,使用`public set; private get;`限制getter,允许外部赋值但内部无法访问。 4. 初始化和构造器: - 在构造器中,可以使用`: this()`语句调用另一个构造器,但需要注意的是,这行代码应写在大括号外部。 - 对象初始化器允许在创建对象时直接设置属性值,如`new ClassName { FieldName = xx }`。 5. 静态成员: `static`修饰的成员属于类本身,而不是类的实例。这意味着所有实例共享同一份静态变量或方法,通过类名直接调用,如`ClassName.StaticMethod()`。 6. `readonly`与`const`的区别: - `readonly`:声明后只能在声明时或构造函数中赋值,赋值后值不可更改,常用于表示只读数据。 - `const`:常量值在编译时计算,并且必须是不可变的数值类型,如int、float等。 了解这些基础知识后,您可以更熟练地设计和实现C#类,确保代码的封装性、安全性和易维护性。
2, 方法;同Java
字段名:同Java的属性 格式: _字段名
属性:getter与setter的简化
3,getter与setter的简化:
private 类型 _字段名;
public 类型 字段名 { //get与set的修饰与该行一样 public
get{
return _字段名;
}
set{
_字段名 = value; // value :上下文关键字,在set中才有确切的意义
}
}
4,为了防止空(null)属性而导致逻辑崩溃:
改版验证:
private 类型 _字段名;
public 类型 字段名{
get{
return _字段名;
}
set{
if(string.IsNullOrEmpty(value)){ //判断是否为空
throw new ArgumentNullException();//抛出异常
}else{
_字段名 = value;
下载后可阅读完整内容,剩余2页未读,立即下载
- 粉丝: 46
- 资源: 72
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 李兴华Java基础教程:从入门到精通
- U盘与硬盘启动安装教程:从菜鸟到专家
- C++面试宝典:动态内存管理与继承解析
- C++ STL源码深度解析:专家级剖析与关键技术
- C/C++调用DOS命令实战指南
- 神经网络补偿的多传感器航迹融合技术
- GIS中的大地坐标系与椭球体解析
- 海思Hi3515 H.264编解码处理器用户手册
- Oracle基础练习题与解答
- 谷歌地球3D建筑筛选新流程详解
- CFO与CIO携手:数据管理与企业增值的战略
- Eclipse IDE基础教程:从入门到精通
- Shell脚本专家宝典:全面学习与资源指南
- Tomcat安装指南:附带JDK配置步骤
- NA3003A电子水准仪数据格式解析与转换研究
- 自动化专业英语词汇精华:必备术语集锦