跳到主要内容

C# 类基础

介绍

在 C# 中,类是面向对象编程(OOP)的核心概念之一。类是对象的蓝图或模板,它定义了对象的属性和行为。通过类,我们可以创建多个具有相同属性和方法的对象实例。类是 C# 中实现封装、继承和多态的基础。

在本节中,我们将学习如何定义类、创建类的实例、以及如何使用类的属性和方法。

类的定义

在 C# 中,类是通过 class 关键字定义的。类可以包含字段、属性、方法和构造函数等成员。以下是一个简单的类定义示例:

csharp
public class Person
{
// 字段
private string name;

// 属性
public string Name
{
get { return name; }
set { name = value; }
}

// 方法
public void Greet()
{
Console.WriteLine($"Hello, my name is {name}.");
}
}

在这个示例中,我们定义了一个名为 Person 的类。它包含一个私有字段 name,一个公共属性 Name,以及一个公共方法 Greet

备注
  • 字段:字段是类的成员变量,通常用于存储数据。
  • 属性:属性是字段的封装,提供了对字段的访问和修改的机制。
  • 方法:方法是类中定义的行为或功能。

创建类的实例

要使用类,我们需要创建类的实例。类的实例是通过 new 关键字创建的。以下是如何创建 Person 类的实例并调用其方法的示例:

csharp
class Program
{
static void Main(string[] args)
{
// 创建 Person 类的实例
Person person = new Person();

// 设置 Name 属性
person.Name = "Alice";

// 调用 Greet 方法
person.Greet();
}
}

输出:

Hello, my name is Alice.

在这个示例中,我们创建了一个 Person 类的实例 person,并设置了 Name 属性。然后,我们调用了 Greet 方法,该方法输出了问候语。

构造函数

构造函数是类的一种特殊方法,它在创建类的实例时自动调用。构造函数通常用于初始化类的字段或属性。以下是一个带有构造函数的 Person 类示例:

csharp
public class Person
{
private string name;

public string Name
{
get { return name; }
set { name = value; }
}

// 构造函数
public Person(string name)
{
this.name = name;
}

public void Greet()
{
Console.WriteLine($"Hello, my name is {name}.");
}
}

在这个示例中,我们添加了一个构造函数,它接受一个 name 参数,并将其赋值给 name 字段。现在,我们可以在创建 Person 实例时直接传递名称:

csharp
class Program
{
static void Main(string[] args)
{
// 使用构造函数创建 Person 实例
Person person = new Person("Bob");

// 调用 Greet 方法
person.Greet();
}
}

输出:

Hello, my name is Bob.
提示

构造函数可以有多个重载版本,允许以不同的方式初始化对象。

实际应用场景

假设我们正在开发一个简单的学生管理系统。我们可以定义一个 Student 类来表示学生,并包含学生的姓名、年龄和成绩等属性。以下是一个简单的 Student 类示例:

csharp
public class Student
{
public string Name { get; set; }
public int Age { get; set; }
public double Grade { get; set; }

public Student(string name, int age, double grade)
{
Name = name;
Age = age;
Grade = grade;
}

public void DisplayInfo()
{
Console.WriteLine($"Name: {Name}, Age: {Age}, Grade: {Grade}");
}
}

Main 方法中,我们可以创建多个 Student 实例并显示他们的信息:

csharp
class Program
{
static void Main(string[] args)
{
Student student1 = new Student("Alice", 20, 85.5);
Student student2 = new Student("Bob", 22, 90.0);

student1.DisplayInfo();
student2.DisplayInfo();
}
}

输出:

Name: Alice, Age: 20, Grade: 85.5
Name: Bob, Age: 22, Grade: 90

在这个示例中,我们使用 Student 类来表示学生,并通过构造函数初始化学生的属性。然后,我们调用 DisplayInfo 方法来显示学生的信息。

总结

在本节中,我们学习了 C# 中类的基础知识,包括如何定义类、创建类的实例、使用属性和方法,以及如何通过构造函数初始化对象。类是面向对象编程的核心,理解类的概念对于掌握 C# 编程至关重要。

警告

在实际开发中,类的设计应遵循单一职责原则,即一个类只负责一项功能。这有助于提高代码的可维护性和可扩展性。

附加资源与练习

  • 练习 1:创建一个 Car 类,包含 MakeModelYear 属性,并添加一个 StartEngine 方法来输出引擎启动的消息。
  • 练习 2:扩展 Student 类,添加一个 CalculateGPA 方法,根据学生的成绩计算 GPA。

通过完成这些练习,您将更深入地理解类的概念,并能够在实际项目中应用这些知识。