C#编程基础与面向对象复习
版权申诉
5星 · 超过95%的资源 64 浏览量
更新于2024-08-26
收藏 239KB DOCX 举报
"C#总复习笔记"
C#是一种面向对象的编程语言,广泛应用于Windows应用程序、游戏开发、Web服务等。以下是对C#关键概念的深入解析:
1. **注释符**
C#提供了三种注释方式:
- 单行注释:以`//`开始,用于注释一行代码。
- 多行注释:以`/*`开始,以`*/`结束,可以注释多行文本。
- 文档注释:以`///`开始,主要用于生成XML文档,通常用于方法、类或属性的文档说明。
2. **命名规范**
C#遵循特定的命名规则,常见的有:
- **CamelCase**:变量和字段的命名,如`intAge`, `stringName`, `chargeGender`, `stringHighSchool`,第一个单词小写,后续单词首字母大写。
- **PascalCase**:类、接口、方法、属性等的命名,如`GetIntMax`, `GetSum`, `GetChinese`,每个单词首字母都大写。
3. **面向对象编程**
面向对象编程的三大特征在C#中体现为:
- **封装**:通过访问修饰符(如`private`)隐藏内部实现,只暴露必要的公共接口。
- **继承**:子类继承父类的属性和方法,解决代码冗余,实现多态性。
- **多态**:子类对象可以被视为父类对象,允许使用父类类型的引用操作子类实例。
4. **字段与属性**
- **字段**:用于存储数据,通常应设为`private`以保护数据。
- **属性**:提供对字段的访问控制,通常包含`get`和`set`访问器,用于读取和修改字段值。
5. **关键字**
- **new**:创建新对象并调用构造函数。
- **this**:指代当前对象,可用于调用同名成员或构造函数。
- **base**:访问父类成员。
- **virtual**:标记虚方法,允许子类重写。
- **abstract**:表示抽象类或方法,不能直接实例化。
- **override**:重写父类方法。
- **interface**:定义接口,强制实现指定的方法。
- **partial**:分部类,允许将类定义拆分为多个文件。
- **sealed**:密封类,禁止其他类继承。
- **static**:静态修饰符,用于声明静态成员。
- **return**:返回方法结果并结束方法执行。
- **break**:退出当前循环。
- **continue**:跳过当前循环迭代,进入下一次循环。
- **struct**:结构类型,值类型。
- **enum**:枚举类型,用于定义一组相关值的集合。
- **const**:常量,声明后不可更改。
6. **访问修饰符**
- **public**:公开访问,任何地方都能访问。
- **private**:私有访问,仅限于类内部。
- **protected**:受保护访问,可在类内部和子类中访问。
- **internal**:程序集内访问,限制在同一程序集内的访问。
7. **虚方法和抽象类**
虚方法通过`virtual`关键字标记,允许子类使用`override`关键字重写。抽象类使用`abstract`关键字定义,可以包含抽象方法(无实现),必须被继承。
以上是C#编程中的核心知识点,理解并熟练运用这些概念对于编写高质量的C#代码至关重要。
2022-06-18 上传
2022-05-27 上传
2022-07-01 上传
2023-09-27 上传
2020-04-12 上传
2023-07-02 上传
卷积神经网络
- 粉丝: 359
- 资源: 8440
最新资源
- SSM动力电池数据管理系统源码及数据库详解
- R语言桑基图绘制与SCI图输入文件代码分析
- Linux下Sakagari Hurricane翻译工作:cpktools的使用教程
- prettybench: 让 Go 基准测试结果更易读
- Python官方文档查询库,提升开发效率与时间节约
- 基于Django的Python就业系统毕设源码
- 高并发下的SpringBoot与Nginx+Redis会话共享解决方案
- 构建问答游戏:Node.js与Express.js实战教程
- MATLAB在旅行商问题中的应用与优化方法研究
- OMAPL138 DSP平台UPP接口编程实践
- 杰克逊维尔非营利地基工程的VMS项目介绍
- 宠物猫企业网站模板PHP源码下载
- 52简易计算器源码解析与下载指南
- 探索Node.js v6.2.1 - 事件驱动的高性能Web服务器环境
- 找回WinSCP密码的神器:winscppasswd工具介绍
- xctools:解析Xcode命令行工具输出的Ruby库