Logo
Section 1 / 20

对象与类简介

在本节中,你将熟悉面向对象编程的基本构建块:对象和类。

导入

对象与类简介

在本节中,你将熟悉面向对象编程的基本构建块:对象和类。

定义

一个 类 可以被看作是用于创建对象的用户自定义蓝图或原型。换句话说,类指定了对象应具备哪些属性以及如何行为。

我们称类为创建对象的蓝图。从对象的角度来看,我们可以认为对象是类的运行时实例。这可能现在听起来不太清楚,但我们将通过很快创建自己的对象来实际了解这一点。

从上述讨论中我们可以推断出:

一个 对象 是类的一个实例。

在 C# 中,我们有多种不同的数据类型,如 int、char、bool 等。 我们可以在程序中使用这些类型,但它们为开发者提供的功能非常有限。如果无法定义我们自己的数据类型,面向对象编程就毫无意义了。这正是 类 发挥作用的地方。

类用于创建 用户自定义的数据类型。C# 中预定义的 string 数据类型也是一个类。我们可以使用预定义的数据类型来创建我们自己的类。有趣的是,我们的类可以包含多个变量和方法来操作这些变量,而这些内容在创建类的对象时都会可用。

初识

在现实世界中,我们可以找到许多物体,比如汽车、建筑物,甚至人类。所有这些物体都有一定的状态和行为。

让我们考虑一个非常基础的 自动售货机。该机器在其货架上出售多种产品。

从宏观层面来看,我们可以将这台机器视为一个对象。自动售货机的 状态 可以通过变量建模,包括但不限于以下内容:

  • 一个 count 变量,用于存储机器中可用产品的数量。
  • 一个 capacity 变量,用于存储机器能容纳的总产品数量。
  • 一个 moneyCollected 变量,用于存储机器已收集的金额。
  • 一个 manufacturer 变量,用于存储机器制造商的名称。

自动售货机的 行为 可以通过定义方法来建模,包括但不限于以下内容:

  • Display() 用于向买家显示可选的产品。
  • DispenseProducts() 用于向买家分发已售出的产品。
  • RefillProducts() 用于补充已售罄的产品。

示例

让我们从 VendingMachine 类的例子开始。以下是 自动售货机对象的状态 如何通过变量建模,以及行为如何通过定义方法建模的示例:

我们可以看到上面的 VendingMachine 类中有两种类型的 成员。一般来说,所有类都包含这两类。

定义在类内部的变量和方法也被称为该类的成员。

字段

当变量在类内部定义以存储对象的状态时,它们被称为 字段。

这些也被称为类的 成员变量。因为它们存储了与类对象相关的信息。一个自动售货机对象会有容量、一定数量的可用产品,以及其他许多我们可以用变量存储的数据。

方法

类中定义的方法使其实例能够对其字段执行操作。以 VendingMachine 类为例,每当调用 DispenseProducts() 方法时,它会减少 vendingMachine 对象的 count 字段值,因为机器的总库存现在比之前少了一件。

使用类的好处

类的概念使我们能够在 C# 中创建复杂的对象和应用程序。这也是为什么类是所有面向对象编程(OOP)原则的基本构建块。

  • 类还非常有助于将应用程序的代码进行模块化划分。不同的组件可以成为独立的类,通过接口进行交互。这些现成的组件未来也可以在其他应用中复用。

  • 类使得维护应用程序的不同部分更加容易,因为修改类更为方便,稍后我们会进一步讨论这一点。


在下一课中,我们将开始学习如何创建一个类。

面向对象编程入门

声明与实现