C# 类和对象

2025年8月26日 | 阅读 8 分钟

在 C# 编程语言中,类和对象是 OOP(面向对象编程)的基本组成部分。它们以更具组织性、可重用性和可维护性的方式提供代码。在 C# 中,类就像一个蓝图,定义了对象在程序中的结构和行为。另一方面,对象是类的实例,用于保存数据和方法来创建和操作多个实体。

C# Class and Object

C# 类

在 OOP 中,类是收集数据成员和数据方法的并将它们组合成单个单元的基本构建块。它是一种用户定义的引用类型,充当创建对象的蓝图。在 C# 中,`class` 关键字用于创建类。

类有助于代码的重用性和可移植性,这意味着同一个类可以在不同的程序中使用而无需重写代码。它还支持封装,这意味着它隐藏了类的内部实现细节,而只向外部世界展示必要的功能。它还可以包含字段、属性、方法、构造函数事件

语法

它具有以下语法。

在这个语法中,

  • 数据成员: 数据成员是在程序类中定义的变量。
  • 数据方法: 数据方法是在程序类中定义的,并且操作数据成员的函数。
  • 访问修饰符: 这些用于定义类及其成员的可见性和访问权限。这些修饰符用于访问类、字段、属性和方法。

C# 类示例

让我们看一个在 C# 中定义类的示例。

示例

编译并运行

输出

The student's name is John
The student's age is 20

说明

在此示例中,我们定义了一个名为 `Student` 的类。在此类中,我们创建了名为 `DisplayInfo` 的方法,以及名为“name”和“age”的成员,用于显示学生详细信息。

之后,我们创建了 `Student` 类的对象,并将“John”和 20 分别赋值给对象的 name 和 age。最后,我们使用 `Console.WriteLine()` 函数打印输出。

C# 类访问修饰符

C# 编程语言中,访问修饰符用于控制对类成员的访问。访问修饰符在 C# 中也称为访问修饰符。它们是用于限制数据成员和方法的可访问性的关键字,包括 `protected`、`private`、`public` 和 `internal`。

C# 中主要有四种访问修饰符。

  • Public (公共) 修饰符: 在 C# 中,`public` 是一个更灵活的修饰符。类的公共成员可以从程序中的任何位置访问。
  • Private (私有) 修饰符: `private` 成员是 C# 中更具限制性的修饰符。类的私有数据成员只能在声明它们的代码块内部访问。
  • Protected (保护) 修饰符: 类的 `protected` 成员可以在同一类内部以及其派生类内部访问。
  • Internal (内部) 修饰符: `internal` 修饰符是程序集级别的修饰符。类的 `internal` 成员可以在同一程序集内访问。

阅读更多: C# 中的访问修饰符

C# 对象

对象是运行时实体(例如椅子、汽车、笔等),用于表示类的特征。它也被称为类的实例,定义其结构、行为和标识。它在程序执行时在内存中创建。对象用于在字段中保存数据,并可以访问类的属性和方法。

C# Class and Object

在 C# 中创建对象

在 C# 中,一旦在程序中定义了类,我们就可以以与定义任何其他内置 数据类型变量相同的方式轻松创建其对象。对象使用 `new` 关键字创建,该关键字为类分配内存并返回对它的引用。

语法

它具有以下语法:

在这个语法中,

  • ClassName: 定义类的名称。
  • ObjectName: 指的是可以创建的类的对象的名称。
  • new: `new` 关键字用于在内存中创建一个新对象。

C# 对象示例

让我们看一个在 C# 中定义对象的示例。

示例

编译并运行

输出

Car Brand: Toyota
Manufacturing Year: 2022

说明

在此示例中,我们演示了如何在 C# 中使用对象。首先,我们创建了一个名为 `Car` 的类。在该类中,我们创建了名为 `ShowDetails()` 的方法。

在 main 方法中,我们创建了 `Car` 类的对象。将“Toyota”和 2022 分别赋值给该项目的品牌和年份。最后,我们使用 `Console.WriteLine()` 函数打印输出。

对象的特征

对象具有以下几个特征:

  • 标识: 每个对象都有唯一的标识,即使多个对象具有相同的属性值。
  • 状态: 类的成员数据可以代表对象的状态。它指的是对象中的属性或存储的数据。
  • 行为: 对象的行为以类的数据方法表示。它定义了对象可以执行的操作。

C# 类和对象示例

让我们以一个包含两个字段:id 和 name 的类的实例为例。我们创建一个类的实例并初始化该对象,然后打印其值。

示例

编译并运行

输出

501
Alex Parker

说明

在此示例中,我们演示了如何在 C# 中使用类和对象。首先,我们创建了一个名为 `Worker` 的类,该类有两个变量 `WorkerId` 和 `WorkerName`。之后,我们创建了 `Worker` 类的对象 (w1) 并分别赋值 501 和 Alex Parker。最后,我们使用 `Console.WriteLine()` 函数打印输出。

将对象作为参数传递给 C# 中的方法

在 C# 编程语言中,我们可以将对象传递给方法。方法是一个代码块,仅在被调用时运行并执行特定任务。我们可以传递数据作为参数,也可以传递作为类实例的对象作为参数。

当我们向方法传递对象时,传递的是对象的引用,而不是对象的副本。因此,在方法内部对对象所做的任何更改也会影响方法外部的原始对象。

语法

它具有以下语法。

C# 将对象作为参数传递给方法的示例

让我们看另一个 C# 程序示例,其中我们存储和检索员工信息。

示例

编译并运行

输出

101  John  995000
102  Michael  29700

说明

在此示例中,我们定义了一个名为 `Staff` 的类,该类包含变量 name、staff_id、staff_name、staff_salary,以及名为 `ShowDetails()` 的方法。之后,我们创建了 `Staff` 类的对象(staff1、staff2)并赋值。最后,我们使用 `Console.WriteLine()` 函数打印输出。

区分 C# 中的类和对象

C# 中类和对象之间的几个区别如下。

特点对象
定义类是将数据成员和数据方法收集到一个单元中。对象是类的实例。
语法class Class_NameClass_Name c1 = new Class_Name
用途它主要用于概念和模型。它主要用于现实世界的实体,例如数据和功能。
表示它代表一个通用概念或类型。它代表类的特定实例。
内存分配在 C# 类中,在创建对象之前不会分配内存。类的内存仅在创建对象时分配。

关于类和对象的重要提示

关于 C# 中类和对象的一些重要提示如下:

  • 类和对象是 C# 中 OOP 的基本概念。我们可以通过这些类和对象获得不同的方面,例如 继承封装和抽象。
  • 当我们创建一个对象时,每个对象都有一个不同的标识,使其与其他事物区分开来。
  • 我们可以使用析构函数来结束实例,以减少内存使用。
  • 类和对象用于在我们的程序中实现可移植性,这意味着我们可以轻松地将一个类从一个程序用到另一个程序。

结论

在 C# 中,类和对象是面向对象编程语言的基础。它们是用于创建软件应用程序的基本构建块。类是一种用户定义的引用类型,它充当创建对象的蓝图。相比之下,对象是类的实例,其中包含实际值。它们使我们能够以更有组织、可重用和可维护的方式编写代码。

C# 类和对象常见问题解答

1) 定义 C# 中的类。

类是将数据成员和数据方法收集到一个单元中的集合。`class` 关键字用于创建类。它在我们的程序中实现了可移植性,这意味着我们可以轻松地将一个类从一个程序用到另一个程序。它有助于实现封装,这意味着隐藏内部细节,而只向外部世界显示必要的细节。

2) 定义 C# 中的对象。

对象是用于表示类的特征的运行时实体。这意味着对象在程序中存在于运行时。我们可以使用对象访问类的特征。它是类的实例,在运行时加载到内存中。

3) C# 中的类可以继承自多个类吗?

不可以,C# 不支持类的多重继承。但是,类能够实现多个接口。

4) C# 中类的默认访问修饰符是什么?

`Internal` 修饰符是 C# 中类的默认访问修饰符。

5) C# 中的类可以继承自另一个类吗?

是的,C# 支持使用 `(:)` 符号进行单重继承。


下一个主题C# 构造函数