带有示例的 C# 类和对象教程

⚡ 智能摘要

C# 类和对象通过封装为应用程序带来面向对象的结构。ping 相关数据属性和方法都位于同一个蓝图中。每个对象都是一个类的实例,该类存储着其自身属性的值。

  • 🔸 类别: 类将数据属性和操作这些数据的方法封装到一个可重用的模板中。
  • 🎯 摆件: 对象是类的运行时实例,它保存着类属性的具体值。
  • ????️ 创建: new 关键字用于实例化一个对象,例如 Tutorial pTutor = new Tutorial(),并为其分配内存。
  • 🧱 字段和方法: 字段存储对象的状态,而诸如 SetTutorial 和 GetTutorial 之类的方法定义其行为。
  • 🔐 封装: 访问修饰符(例如 public 和 private)控制代码外部可以访问哪些字段和方法。
  • 🤖 人工智能辅助: GitHub Copilot 生成类定义,而 ML.NET 将对象数据作为机器学习模型的特征。

C# 类和对象

C# 基于 C++ 编程语言。因此,C# 编程语言内置了对类和对象的支持。类不过是用于表示实时实体的属性和方法的封装。

例如,如果您想在特定的应用程序中处理员工的数据。

员工的属性是员工的 ID 和姓名。方法包括员工数据的输入和修改。

所有这些操作都可以在 C# 中表示为一个类。在本章中,我们将更详细地了解如何在 C# 中使用类和对象。

什么是类和对象?

我们首先从课程开始。

正如我们前面讨论过的,类是 数据属性数据方法.

  • 这些属性用于描述类将保存的数据。
  • 方法告诉我们可以对数据执行哪些操作。

为了更好地理解类和对象,让我们看下面的一个例子来了解类的样子。

该类的名称为“Tutorial”。该类具有以下属性

  1. 教程编号 – 这将用于存储代表教程的唯一编号。
  2. 教程名称 – 这将用于将教程的名称存储为字符串。

类还包含方法。我们的类有以下方法,

  1. 设置教程 – 此方法将用于设置教程的 ID 和名称。例如,如果我们想为 .Net 创建教程,我们可以为此创建一个对象。该对象的 ID 为 1。其次,我们将指定名称“.Net”作为教程的名称。ID 值 1 和名称“.Net”将存储为对象的属性。
  2. 获取教程 – 此方法用于获取特定教程的详细信息。因此,如果我们想获取教程的名称,此方法将返回字符串“.Net”。

C# 类和对象

下面是我们的 Tutorial 类中对象的快照。我们有 3 个对象,每个对象都有各自的 TutorialID 和 TutorialName。

C# 类和对象

如何创建类和对象

现在让我们深入探讨 Visual Studio中 创建我们的类。我们将基于我们在上一章中创建的现有控制台应用程序进行构建。我们将在 Visual Studio 中为当前应用程序创建一个类。

让我们按照下面提到的步骤来实现这个示例。

步骤1) 第一步是在现有应用程序中创建一个新类。这是在 Visual Studio 的帮助下完成的。

创建类和对象

  1. 第一步是右键单击解决方案,在我们的例子中是“DemoApplication”。这将打开一个带有选项列表的上下文菜单。
  2. 从上下文菜单中选择选项“添加->类”。这将提供向现有项目添加类的选项。

步骤2) 下一步是为该类提供一个名称并将其添加到我们的解决方案中。

创建类和对象

  1. 在项目对话框中,我们首先需要为我们的类提供一个名称。让我们为我们的类提供一个名称 Tutorial.cs。请注意,文件名应以 .cs 结尾,以确保它被视为正确的类文件。
  2. 当我们单击添加按钮时,该类将被添加到我们的解决方案中。

如果遵循上述步骤,您将在 Visual Studio 中获得以下输出。
输出:-

创建类和对象

一个名为 Tutorial.cs 的类将添加到解决方案中。如果打开该文件,您将发现下面的代码添加到类文件中。

创建类和对象

Code 解释:-

  1. 第一部分包含 Visual Studio 添加到任何 .Net 文件的必需模块。这些模块始终是必需的,以确保任何 .Net 程序在 Windows 环境。
  2. 第二部分是添加到文件中的类。在我们的例子中,类名是“Tutorial”。这是在将类添加到解决方案时指定的名称。

目前,我们的类文件什么也不做。在以下主题中,我们将更详细地了解如何使用该类。

字段和方法

在前面的主题中,我们已经了解了如何在类中定义字段和方法。

对于我们的教程课程,我们可以具有以下属性。

  1. 教程 ID — 用于存储代表教程的唯一编号。
  2. 教程名称 – 这将用于将教程的名称存储为 绳子.

我们的 Tutorial 类还可以有下面提到的方法。

  1. SetTutorial – 此方法用于设置教程的 ID 和名称。
  2. GetTutorial – 此方法用于获取特定教程的详细信息。

现在让我们看看如何在代码中加入字段和方法。

步骤1) 第一步是确保 Tutorial 类定义了正确的字段和方法。在此步骤中,我们将以下代码添加到 Tutorial.cs 文件中。

字段和方法

Code 解释:-

  1. 第一步是将 TutorialID 和 TutorialName 字段添加到类文件中。由于 TutorialID 字段是数字,我们将其定义为 Integer,而 TutorialName 则定义为字符串。
  2. 接下来,我们定义 SetTutorial 方法。此方法接受 2 个参数。因此,如果 Program.cs 调用 SetTutorial 方法,则需要为这些参数提供值。这些值将用于设置 Tutorial 对象的字段。
    1. pID 的值将变为 1
    2. pName 的值将是 .Net。
    3. 在 SetTutorial 方法中,这些值将被传递给 TutorialID 和 TutorialName。
    4. 因此现在 TutorialID 的值为 1,而 TutorialName 的值为“.Net”。
  3. 这里我们将 Tutorial 类的字段设置为相应的参数。因此我们将 TutorialID 设置为 pID,将 TutorialName 设置为 Pname。
  4. 然后我们定义 GetTutorial 方法来返回“String”类型的值。此方法将用于将 TutorialName 返回给调用程序。同样,您也可以使用方法 Int GetTutorial 获取教程 ID
  5. 这里我们将 TutorialName 字段的值返回给调用程序。

步骤2) 现在让我们将代码添加到我们的 Program.cs,即我们的控制台应用程序。控制台应用程序将用于创建“Tutorial 类”的对象并相应地调用 SetTutorial 和 GetTutorial 方法。

(注意::- 对象在任意给定时刻都是类的一个实例。类和对象之间的区别在于对象包含属性的值。)

字段和方法

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
 class Tutorial
 {
  int TutorialID; 
  string TutorialName;
  
  public void SetTutorial(int pID,string pName) 
  {
   TutorialID=pID;
   TutorialName=pName;
  }
  public String GetTutorial()
  {
   return TutorialName;
  }
  
  static void Main(string[] args) 
  {
   Tutorial pTutor=new Tutorial();
    
   pTutor.SetTutorial(1,".Net");
    
   Console.WriteLine(pTutor.GetTutorial());
    
   Console.ReadKey(); 
  }
 }
}

Code 解释:-

  1. 第一步是为 Tutorial 类创建一个对象。这里请注意,这是通过使用关键字“new”来完成的。在 C# 中,“new”关键字用于从类中创建对象。然后将该对象分配给 pTutor 变量.
  2. 然后调用方法 SetTutorial。参数 1 和“.Net”被传递给 SetTutorial 方法。然后这些将用于相应地设置类的“TutorialID”和“TutorialName”字段。
  3. 然后我们使用 Tutorial 类的 GetTutorial 方法获取 TutorialName。然后通过 Console.WriteLine 方法将其显示到控制台。

如果正确输入上述代码并运行程序,将显示以下输出。

输出:

字段和方法

从输出中,您可以清楚地看到 GetTutorial 方法返回了字符串“.Net”。

常见问题

构造函数是一种特殊方法,它与类名匹配,当使用 new 创建对象时会自动运行,并使用初始值初始化其字段。

new 关键字从类创建一个对象。它分配内存,调用构造函数,并返回一个引用,如 Tutorial pTutor = new Tutorial()。

类是存储在堆上的引用类型,而结构体是赋值时复制的值类型。类支持继承,结构体不支持。

访问修饰符用于设置成员的可见性。`public` 将成员暴露给任何代码,`private` 将其限制为仅限同一类内部成员,而 `protected` 则可与派生类共享。

是的。类是一种蓝图,所以你可以用 new 创建多个对象。每个对象都拥有自己独立的字段副本,保持……ping 他们的价值观是独立的。

字段直接在类内部存储数据。属性则通过 get 和 set 访问器封装字段,控制值的读取和更改方式。

是的。GitHub Copilot 会根据 Visual Studio 中的注释或类名建议类定义、字段、构造函数和方法体。 VS Code. Rev查看每种类型的正确性。

ML.NET 将输入和输出数据建模为 C# 类。您可以定义一个类,该类的属性映射到特征,将记录加载到对象中,并使用它们来训练模型。

总结一下这篇文章: