C# 类基础
介绍
在 C# 中,类是面向对象编程(OOP)的核心概念之一。类是对象的蓝图或模板,它定义了对象的属性和行为。通过类,我们可以创建多个具有相同属性和方法的对象实例。类是 C# 中实现封装、继承和多态的基础。
在本节中,我们将学习如何定义类、创建类的实例、以及如何使用类的属性和方法。
类的定义
在 C# 中,类是通过 class
关键字定义的。类可以包含字段、属性、方法和构造函数等成员。以下是一个简单的类定义示例:
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
类的实例并调用其方法的示例:
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
类示例:
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
实例时直接传递名称:
class Program
{
static void Main(string[] args)
{
// 使用构造函数创建 Person 实例
Person person = new Person("Bob");
// 调用 Greet 方法
person.Greet();
}
}
输出:
Hello, my name is Bob.
构造函数可以有多个重载版本,允许以不同的方式初始化对象。
实际应用场景
假设我们正在开发一个简单的学生管理系统。我们可以定义一个 Student
类来表示学生,并包含学生的姓名、年龄和成绩等属性。以下是一个简单的 Student
类示例:
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
实例并显示他们的信息:
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
类,包含Make
、Model
和Year
属性,并添加一个StartEngine
方法来输出引擎启动的消息。 - 练习 2:扩展
Student
类,添加一个CalculateGPA
方法,根据学生的成绩计算 GPA。
通过完成这些练习,您将更深入地理解类的概念,并能够在实际项目中应用这些知识。