Erklären Sie das Konzept von Klassen in C#

WBOY
Freigeben: 2023-08-27 22:45:14
nach vorne
1452 Leute haben es durchsucht

类是 C# 中的基本类型之一。我们可以将类视为与问题域相关的对象的蓝图。它是我们创建对象的模板,定义了从此类创建的对象集将共享的结构和行为。简单来说,类是一个 cookie-cutter,而对象就是 cookie 本身。

类还支持封装,这是面向对象编程中的一个重要概念。这意味着将数据和处理数据的操作组合在一个地方,并为该对象的用户提供一个简单的 API。类允许我们封装数据,并对其他类隐藏不相关的细节。

我们可以使用 class 关键字,后跟类的名称来创建一个类。

// User.cs
public class User{
   private string name;
   private int salary;
   public void Promote(){
      salary += 1000;
   }
}
Nach dem Login kopieren

在上面的例子中,User是一个代表用户的类。该类封装了两部分数据 - namesalary。这些被称为类字段,包含用户的姓名和工资。它还具有一个名为 Promote() 的方法,用于提高用户的工资。

每个类都有一个关联的访问修饰符,用于控制该类是否将对其他类可见。以下是我们可以为访问修饰符提供的五个可能值。

< /tbody>
访问修饰符描述
公开无限制访问
受保护对派生类的有限访问
内部对程序集的有限访问
受保护的内部对程序集或派生类的访问受到限制
私有禁止外部访问

要创建类的实例,我们可以使用new关键字。 new 运算符计算对象数据所需的字节数并为对象分配内存。然后它返回一个指向新创建的对象的指针(也称为引用)。

var alice = new User();
var bob = new User();
Nach dem Login kopieren

然后,将此引用存储在等号左侧的变量中。在上面的示例中,Alice和Bob保存对新创建的对象的引用或指针。

Erklären Sie das Konzept von Klassen in C#

在C#中,类的命名约定遵循PascalCase,即将复合词中的每个单词的首字母大写,例如StringBuilder,UserController等。不需要在文件中创建与类名匹配的类。然而,大多数C#项目都使用了这种约定。

构造函数

在上面的示例中,当我们创建User类的实例(即alice和bob)时,我们没有提供它们的初始名称和工资。通常,新创建的对象需要一些信息来完成其工作,构造函数用于初始化类的数据。

我们可以添加一个构造函数来为用户指定名称和工资,如下所示:

public class User{
   private string name;
   private int salary;
   public User(string name, int salary){
      this.name = name;
      this.salary = salary;
   }
   public void Promote(){
      salary += 1000;
   }
}
Nach dem Login kopieren

拥有构造函数使我们能够在创建新实例时传递用户的姓名和薪水。

var alice = new User("Alice", 50000);
var bob = new User("Bob", 45000);
Nach dem Login kopieren

一个类中可以有多个构造函数。拥有多个构造函数允许我们以不同的方式初始化类。例如,我们可以添加另一个构造函数,该构造函数仅采用用户名并分配默认工资。

public User(string name){
   this.name = name;
   this.salary = 50000;
}
Nach dem Login kopieren

Example

实例演示

using System;
class Program{
   static void Main(){
      var alice = new User();
      alice.Print();

      var bob = new User();
      bob.Print();
      var chris = new User("Chris", 50000);
      chris.Print();
      var debs = new User("Debs", 45000);
      debs.Print();

      var scott = new User("Scott");
      scott.Print();
   }
}
public class User{
   private string name;
   private int salary;
   public User(){

   }
   public User(string name){
      this.name = name;
      this.salary = 50000;
   }
   public User(string name, int salary){
      this.name = name;
      this.salary = salary;
   }
   public void Promote(){
      salary += 1000;
   }
   public void Print(){
      Console.WriteLine($"{name}: {salary}");
   }
}
Nach dem Login kopieren

输出

: 0
: 0
Chris: 50000
Debs: 45000
Scott: 50000
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonErklären Sie das Konzept von Klassen in C#. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage