跳到主要内容

C# 类和对象

提示
  1. 类的概念:在 C# 中,类是对象的蓝图,包含字段(存储数据的变量)和方法(执行特定任务的函数)。
  2. 对象的创建和使用:对象是类的实例,可以通过 new 关键字创建,用于访问类的成员,如字段和方法。
  3. 类和对象的应用:类和对象的使用有助于将大型项目分解为更小的子问题,简化复杂性,并提高代码的可重用性。

C# 是一种面向对象的编程语言。在面向对象编程(OOP)中,我们通过将复杂问题分解为对象来解决。

要使用对象,我们需要执行以下活动:

  • 创建一个类
  • 从类创建对象

C# 类

在学习对象之前,我们需要了解类的工作原理。类是对象的蓝图。

我们可以将类想象为房屋的草图(原型)。它包含了有关楼层、门、窗等的所有细节。我们可以根据这些描述建造房屋。房屋就是对象。

像可以根据草图建造许多房屋一样,我们可以从一个类创建许多对象。

在 C# 中创建类

我们使用 class 关键字来创建类。例如,

class ClassName {

}

这里,我们创建了一个名为 ClassName 的类。一个类可以包含:

  • 字段 - 存储数据的变量
  • 方法 - 执行特定任务的函数

让我们看一个例子,

class Dog {

// 字段
string breed;

// 方法
public void bark() {

}

}

在上述示例中,

  • Dog - 类名
  • breed - 字段
  • bark() - 方法

注意:在 C# 中,类内的字段和方法被称为类的成员。

C# 对象

对象是类的实例。假设我们有一个 Dog 类。英国斗牛犬、德国牧羊犬、巴哥犬都是该类的对象。

创建类的对象

在 C# 中,这是我们创建类的对象的方式。

ClassName obj = new ClassName();

这里,我们使用了 new 关键字来创建类的对象。而 obj 是对象的名称。现在,让我们从 Dog 类创建一个对象。

Dog bullDog = new Dog();

现在,bullDog 对象可以访问 Dog 类的字段和方法。

使用对象访问类成员

我们使用对象名称加上 . 操作符来访问类的成员。例如,

using System;

namespace ClassObject {

class Dog {
string breed;

public void bark() {
Console.WriteLine("Bark Bark !!");

}

static void Main(string[] args) {

// 创建 Dog 对象
Dog bullDog = new Dog();

// 访问 Dog 的品种
bullDog.breed = "Bull Dog";
Console.WriteLine(bullDog.breed);

// 访问 Dog 的方法
bullDog.bark();

Console.ReadLine();

}
}
}

输出

Bull Dog
Bark Bark !!

在上述程序中,我们从 Dog 类创建了一个名为 bullDog 的对象。注意我们使用对象名称和 .(点操作符)来访问 breed 字段

// 访问 Dog 的品种
bullDog.breed = "Bull Dog";

以及 bark() 方法

// 访问 Dog 的方法
bullDog.bark();

创建一个类的多个对象

我们可以从同一个类创建多个对象。例如,

using System;

namespace ClassObject {

class Employee {

string department;

static void Main(string[] args) {

// 创建 Employee 对象
Employee sheeran = new Employee();

// 为 sheeran 设置部门
sheeran.department = "Development";
Console.WriteLine("Sheeran: " + sheeran.department);

// 创建 Employee 的第二个对象
Employee taylor = new Employee();

// 为 taylor 设置部门
taylor.department = "Content Writing";
Console.WriteLine("Taylor: " + taylor.department);

Console.ReadLine();
}
}
}

输出

Sheeran: Development
Taylor: Content Writing

在上述示例中,我们创建了两个对象:sheerantaylor,它们都来自于 Employee 类。

这里,你可以看到这两个对象都有自己版本的 department 字段,且值各不相同。

在不同的类中创建对象

在 C# 中,我们也可以在一个类中创建另一个类的对象。例如,

using System;

namespace ClassObject {

class Employee {
public string name;

public void work(string work) {
Console.WriteLine("工作: " + work);

}
}

class EmployeeDrive {
static void Main(string[] args) {

// 创建 Employee 对象
Employee e1 = new Employee();

Console.WriteLine("员工 1");

// 设置 Employee 的姓名
e1.name = "Gloria";
Console.WriteLine("姓名: " + e1.name);

// 调用 Employee 的方法
e1.work("编程");

Console.ReadLine();

}
}
}

输出

员工 1
姓名: Gloria
工作: 编程

在上述示例中,我们有两个类:EmployeeEmployeeDrive。这里,我们在 EmployeeDrive 类中创建了 Employee 类的对象 e1

我们使用 e1 对象从 EmployeeDrive 访问了 Employee 类的成员。这是可能的,因为 Employee 类中的成员是 public 的。

这里,public 是一个访问指定符,意味着类成员可以从任何其他类访问。要了解更多,请访问 C# 访问修饰符

为什么使用对象和类?

对象和类帮助我们将大型项目划分为更小的子问题。

假设你想创建一个游戏,其中有数百个敌人,每个敌人都有诸如 healthammo 等字段,以及 shoot()run() 等方法。

使用面向对象编程(OOP),我们可以创建一个带有所需字段和方法的单一 Enemy 类。然后,我们可以从中创建多个敌人对象。

每个敌人对象都将拥有自己版本的 healthammo 字段。并且,它们可以使用共同的 shoot()run() 方法。

现在,我们可以从对象的角度而不是从变量和方法的角度来思考项目。

这有助于管理复杂性以及使我们的代码可重用。