C# 类和对象

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

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

  • 创建类
  • 从类创建对象

C# 类

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

我们可以将类视为房子的草图(原型)。它包含有关楼层、门、窗等的详细信息。我们可以根据这些描述建造房子。房子是对象。

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

在 C# 中创建类

我们使用 `class` 关键字来创建对象。例如:

class ClassName {

}

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

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

让我们看一个例子,

class Dog {
 
  //field
  string breed;
 
  //method
  public void bark() {

  }
 
}

在上面的例子中:

  • `ClassName` - 类名
  • `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) {

      // create Dog object 
      Dog bullDog = new Dog();

      // access breed of the Dog 
      bullDog.breed = "Bull Dog";
      Console.WriteLine(bullDog.breed);

      // access method of the Dog
      bullDog.bark();   

      Console.ReadLine();
     
    }
  }
}

输出

Bull Dog
Bark Bark !!

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

// access breed of the Dog
bullDog.breed = "Bull Dog";

以及 `bark()` 方法

// access method of the Dog
bullDog.bark();

创建类的多个对象

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

using System;

namespace ClassObject {

  class Employee {

    string department;

    static void Main(string[] args) {

      // create Employee object 
      Employee sheeran = new Employee();

      // set department for sheeran
      sheeran.department = "Development";
      Console.WriteLine("Sheeran: " + sheeran.department);

      // create second object of Employee
      Employee taylor = new Employee();

      // set department for taylor
      taylor.department = "Content Writing";
      Console.WriteLine("Taylor: " + taylor.department);

      Console.ReadLine();
    }
  }
}

输出

Sheeran: Development
Taylor: Content Writing

在上面的示例中,我们从 `Employee` 类创建了两个对象:`sheeran` 和 `taylor`。

在这里,您可以看到两个对象都有自己的 `department` 字段版本,但值不同。


在另一个类中创建对象

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

例如,

using System;

namespace ClassObject {

  class Employee {
    public string name;

    public void work(string work) {
      Console.WriteLine("Work: " + work);
      
    }
  }

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

      // create Employee object 
      Employee e1= new Employee();

      Console.WriteLine("Employee 1");

      // set name of the Employee 
      e1.name="Gloria";
      Console.WriteLine("Name: " + e1.name);

      //call method of the Employee
      e1.work("Coding"); 

      Console.ReadLine();
     
    }
  }
}

输出

Employee 1
Name: Gloria
Work: Coding

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

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

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


为什么需要对象和类?

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

假设您想创建一个游戏,其中有数百个敌人,每个敌人都有 `health`、`ammo` 等字段,以及 `shoot()` 和 `run()` 等方法。

使用 OOP,我们可以创建一个具有所需字段和方法的单个 `Enemy` 类。然后,我们可以从中创建多个敌人对象。

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

现在,与其考虑变量和方法形式的项目,不如考虑对象形式的项目。

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

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战