对象与类简介
在本节中,你将熟悉面向对象编程的基本构建块:对象和类。
定义
一个 类 可以被看作是用于创建对象的用户自定义蓝图或原型。换句话说,类指定了对象应具备哪些属性以及如何行为。
我们称类为创建对象的蓝图。从对象的角度来看,我们可以认为对象是类的运行时实例。这可能现在听起来不太清楚,但我们将通过很快创建自己的对象来实际了解这一点。
从上述讨论中我们可以推断出:
一个 对象 是类的一个实例。
在 C# 中,我们有多种不同的数据类型,如 int、char、bool 等。
我们可以在程序中使用这些类型,但它们为开发者提供的功能非常有限。如果无法定义我们自己的数据类型,面向对象编程就毫无意义了。这正是 类 发挥作用的地方。
类用于创建 用户自定义的数据类型。C# 中预定义的 string 数据类型也是一个类。我们可以使用预定义的数据类型来创建我们自己的类。有趣的是,我们的类可以包含多个变量和方法来操作这些变量,而这些内容在创建类的对象时都会可用。
初识
在现实世界中,我们可以找到许多物体,比如汽车、建筑物,甚至人类。所有这些物体都有一定的状态和行为。
让我们考虑一个非常基础的 自动售货机。该机器在其货架上出售多种产品。
从宏观层面来看,我们可以将这台机器视为一个对象。自动售货机的 状态 可以通过变量建模,包括但不限于以下内容:
- 一个
count变量,用于存储机器中可用产品的数量。 - 一个
capacity变量,用于存储机器能容纳的总产品数量。 - 一个
moneyCollected变量,用于存储机器已收集的金额。 - 一个
manufacturer变量,用于存储机器制造商的名称。
自动售货机的 行为 可以通过定义方法来建模,包括但不限于以下内容:
Display()用于向买家显示可选的产品。DispenseProducts()用于向买家分发已售出的产品。RefillProducts()用于补充已售罄的产品。
示例
让我们从 VendingMachine 类的例子开始。以下是 自动售货机对象的状态 如何通过变量建模,以及行为如何通过定义方法建模的示例:
我们可以看到上面的 VendingMachine 类中有两种类型的 成员。一般来说,所有类都包含这两类。
定义在类内部的变量和方法也被称为该类的成员。
字段
当变量在类内部定义以存储对象的状态时,它们被称为 字段。
这些也被称为类的 成员变量。因为它们存储了与类对象相关的信息。一个自动售货机对象会有容量、一定数量的可用产品,以及其他许多我们可以用变量存储的数据。
方法
类中定义的方法使其实例能够对其字段执行操作。以 VendingMachine 类为例,每当调用 DispenseProducts() 方法时,它会减少 vendingMachine 对象的 count 字段值,因为机器的总库存现在比之前少了一件。
使用类的好处
类的概念使我们能够在 C# 中创建复杂的对象和应用程序。这也是为什么类是所有面向对象编程(OOP)原则的基本构建块。
-
类还非常有助于将应用程序的代码进行模块化划分。不同的组件可以成为独立的类,通过接口进行交互。这些现成的组件未来也可以在其他应用中复用。
-
类使得维护应用程序的不同部分更加容易,因为修改类更为方便,稍后我们会进一步讨论这一点。
在下一课中,我们将开始学习如何创建一个类。