没有合适的资源?快使用搜索试试~ 我知道了~
C#基础-面向对象编程,C#入门级语法
需积分: 5 0 下载量 72 浏览量
2024-05-21
22:17:53
上传
评论
收藏 608KB PDF 举报
温馨提示
![preview](https://dl-preview.csdnimg.cn/89336763/0001-d8d1c3d4fec73a1b128966fe21d0a721_thumbnail.jpeg)
![preview-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/scale.ab9e0183.png)
试读
26页
C# 是一种强类型、面向对象的编程语言,由微软开发并作为 .NET Framework 的一部分。在 C# 中,面向对象编程(Object-Oriented Programming, OOP)是一种软件开发方法,它基于“对象”的概念来设计应用程序和软件系统。本文介绍 C# 中面向对象编程的一些基本概念和示例。
资源推荐
资源详情
资源评论
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![application/msword](https://img-home.csdnimg.cn/images/20210720083327.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![7z](https://img-home.csdnimg.cn/images/20210720083312.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![7z](https://img-home.csdnimg.cn/images/20210720083312.png)
![](https://csdnimg.cn/release/download_crawler_static/89336763/bg1.jpg)
C#基础语法——面向对象编程
1 C# 中的类、结构和记录概述
在 C# 中,某个类型(类、结构或记录)的定义的作用类似于蓝图,指定该类
型可以进行哪些操作。 从本质上说,对象是按照此蓝图分配和配置的内存块。
封装
封装有时称为面向对象的编程的第一支柱或原则。 类或结构可以指定自己的每
个成员对外部代码的可访问性。 可以隐藏不得在类或程序集外部使用的方法和
变量,以限制编码错误或恶意攻击发生的可能性。有关详细信息,请参阅面向
对象的编程教程。
成员
类型的成员包括所有方法、字段、常量、属性和事件。 C# 没有全局变量或方
法,这一点其他某些语言不同。 即使是编程的入口点(Main 方法),也必须
在类或结构中声明(使用顶级语句时,隐式声明)。
下面列出了所有可以在类、结构或记录中声明的各种成员。
• 字段
• 常量
• 属性
• 方法
• 构造函数
• 事件
• 终结器
• 索引器
• 运算符
![](https://csdnimg.cn/release/download_crawler_static/89336763/bg2.jpg)
• 嵌套类型
可访问性
一些方法和属性可供类或结构外部的代码(称为“
客户端代码
”)调用或访问。
另一些方法和属性只能在类或结构本身中使用。 请务必限制代码的可访问性,
仅供预期的客户端代码进行访问。 需要使用以下访问修饰符指定类型及其成员
对客户端代码的可访问性:
• public
• 受保护
• internal
• protected internal
• private
• 专用受保护。
可访问性的默认值为 private。
继承
类(而非结构)支持继承的概念。 派生自另一个类(称为基类)的类自动包含
基类的所有公共、受保护和内部成员(其构造函数和终结器除外)。
可以将类声明为 abstract,即一个或多个方法没有实现代码。 尽管抽象类无法
直接实例化,但可以作为提供缺少实现代码的其他类的基类。 类还可以声明
为 sealed,以阻止其他类继承。
![](https://csdnimg.cn/release/download_crawler_static/89336763/bg3.jpg)
界面
类、结构和记录可以实现多个接口。 从接口实现意味着类型实现接口中定义的
所有方法。 有关详细信息,请参阅接口。
泛型类型
类、结构和记录可以使用一个或多个类型参数进行定义。 客户端代码在创建类
型实例时提供类型。 例如,System.Collections.Generic 命名空间中 List<T> 类
就是用一个类型参数定义的。 客户端代码创建 List<string> 或 List<int> 的实
例来指定列表将包含的类型。
静态类型
类(而非结构或记录)可以声明为 static。 静态类只能包含静态成员,不能使
用 new 关键字进行实例化。 在程序加载时,类的一个副本会加载到内存中,
而其成员则可通过类名进行访问。 类、结构和记录可以包含静态成员。
嵌套类型
类、结构和记录可以嵌套在其他类、结构和记录中。
分部类型
可以在一个代码文件中定义类、结构或方法的一部分,并在其他代码文件中定
义另一部分。
对象初始值设定项
可以通过将值分配给属性来实例化和初始化类或结构对象以及对象集合。
![](https://csdnimg.cn/release/download_crawler_static/89336763/bg4.jpg)
匿名类型
在不方便或不需要创建命名类的情况下,可以使用匿名类型。 匿名类型由其命
名数据成员定义。
扩展方法
可以通过创建单独的类型来“扩展”类,而无需创建派生类。 该类型包含可以调
用的方法,就像它们属于原始类型一样。
隐式类型的局部变量
在类或结构方法中,可以使用隐式类型指示编译器在编译时确定变量类型。
记录
C# 9 引入了 record 类型,可创建此引用类型而不创建类或结构。 记录是带有
内置行为的类,用于将数据封装在不可变类型中。 C# 10 引入了 record
struct 值类型。 记录(record class 或 record struct)提供以下功能:
• 用于创建具有不可变属性的引用类型的简明语法。
• 值相等性。 两个记录类型的变量在它们的类型和两个记录中每个字段的
值都相同时,它们是相等的。 类使用引用相等性,即:如果类类型的两
个变量引用同一对象,则这两个变量是相等的。
• 非破坏性变化的简明语法。 使用 with 表达式,可以创建作为现有实例
副本的新记录实例,但更改了指定的属性值。
• 显示的内置格式设置。 ToString 方法输出记录类型名称以及公共属性的
名称和值。
• 支持记录类中的继承层次结构。 记录类支持继承。 记录结构不支持继
承。
![](https://csdnimg.cn/release/download_crawler_static/89336763/bg5.jpg)
2 对象 - 创建类型的实例
类或结构定义的作用类似于蓝图,指定该类型可以进行哪些操作。 从本质上
说,对象是按照此蓝图分配和配置的内存块。 程序可以创建同一个类的多个对
象。 对象也称为实例,可以存储在命名变量中,也可以存储在数组或集合中。
使用这些变量来调用对象方法及访问对象公共属性的代码称为客户端代码。 在
C# 等面向对象的语言中,典型的程序由动态交互的多个对象组成。
结构实例与类实例
由于类是引用类型,因此类对象的变量引用该对象在托管堆上的地址。 如果将
同一类型的第二个变量分配给第一个变量,则两个变量都引用该地址的对象。
本文稍后部分将更详细地讨论这一点。
类的实例是使用 new 运算符创建的。 在下面的示例中,Person 为类型,
person1 和 person2 为该类型的实例(即对象)。
using System;
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
public Person(string name, int age)
{
Name = name;
Age = age;
}
// Other properties, methods, events...
}
剩余25页未读,继续阅读
资源评论
![avatar-default](https://csdnimg.cn/release/downloadcmsfe/public/img/lazyLogo2.1882d7f4.png)
![avatar](https://profile-avatar.csdnimg.cn/7867eee862754b16b119d65dafef6f0b_u011565038.jpg!1)
icysmile131
- 粉丝: 3551
- 资源: 149
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)