C# - 类:初学者的指南

你好,未来的程序员们!今天,我们将踏上一段激动人心的旅程,探索C#类的世界。如果你之前从未编写过代码,不用担心——我将作为你友好的向导,一步步解释所有内容。那么,让我们开始吧!

C# - Classes

类是什么?

在我们开始之前,先来理解一下什么是类。可以将类看作是创建对象的蓝图。它就像一个饼干模具,定义了你将要制作的饼干的形状和特征。在编程中,类定义了该类的对象将具有的属性和行为。

定义一个类

让我们从创建一个简单的类开始。我们将创建一个Dog类,因为,毕竟,谁不喜欢狗呢?

public class Dog
{
// 类成员放在这里
}

这是类的基本结构。public关键字意味着这个类可以从程序的其他部分访问。在大括号{}内,我们将定义类成员。

添加属性

属性就像我们的狗的特征。让我们添加一些:

public class Dog
{
public string Name;
public int Age;
public string Breed;
}

现在我们的Dog类有了名字、年龄和品种。这些被称为类的字段或属性。

成员函数和封装

成员函数(或方法)是狗可以执行的动作。让我们添加一个方法让我们的狗叫:

public class Dog
{
public string Name;
public int Age;
public string Breed;

public void Bark()
{
Console.WriteLine("汪!汪!");
}
}

Bark方法是一个简单的动作,将"汪!汪!"打印到控制台。

封装

封装就像把你的狗的特征放在一个保护性的气泡里。它是控制对类成员访问的一种方式。让我们修改我们的类来使用封装:

public class Dog
{
private string name;
private int age;
public string Breed { get; set; }

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

public int Age
{
get { return age; }
set
{
if (value > 0)
age = value;
}
}

public void Bark()
{
Console.WriteLine("汪!汪!");
}
}

现在,nameage是私有的,我们通过公共属性来访问它们。这允许我们添加逻辑,比如确保年龄总是正数。

C# 构造函数

构造函数是一个特殊的方法,在创建类的新实例时调用。它就像当你第一次得到狗时设置你的狗。让我们给我们的Dog类添加一个构造函数:

public class Dog
{
// ... 前面的代码 ...

public Dog(string name, int age, string breed)
{
Name = name;
Age = age;
Breed = breed;
}
}

现在我们可以这样创建一条新狗:

Dog myDog = new Dog("Buddy", 3, "拉布拉多");

C# 析构函数

析构函数是在对象不再需要时清理资源的方法。在C#中,它们很少使用,因为垃圾收集器处理内存管理。但为了完整性,这里是如何定义一个析构函数:

public class Dog
{
// ... 前面的代码 ...

~Dog()
{
Console.WriteLine("再见," + Name + "!");
}
}

当狗对象被垃圾收集器销毁时,这个析构函数将被调用。

C# 类的静态成员

静态成员属于类本身,而不是任何特定实例。它们被类的所有实例共享。让我们添加一个静态成员来跟踪我们创建了多少条狗:

public class Dog
{
// ... 前面的代码 ...

public static int DogCount = 0;

public Dog(string name, int age, string breed)
{
Name = name;
Age = age;
Breed = breed;
DogCount++;
}

public static void ReportDogCount()
{
Console.WriteLine("狗的总数:" + DogCount);
}
}

现在,每次我们创建一个新的DogDogCount都会增加。我们可以随时调用Dog.ReportDogCount()来查看我们创建了多少条狗。

一切组合在一起

让我们在程序中使用我们的Dog类:

class Program
{
static void Main(string[] args)
{
Dog dog1 = new Dog("Buddy", 3, "拉布拉多");
Dog dog2 = new Dog("Max", 5, "德国牧羊犬");

Console.WriteLine(dog1.Name + " 是一只 " + dog1.Breed);
dog1.Bark();

Console.WriteLine(dog2.Name + " 是 " + dog2.Age + " 岁");
dog2.Bark();

Dog.ReportDogCount();
}
}

这个程序创建了两个狗对象,显示它们的信息,让它们叫,并报告创建的总狗数。

结论

恭喜你!你刚刚学习了C#类的基础知识。我们覆盖了定义类、添加属性和方法、使用构造函数和析构函数,甚至触及了静态成员。记住,熟能生巧,所以尝试创建你自己的类,并尝试不同的属性和方法。

下面是一个总结我们所讨论的主要方法的表格:

方法 描述
构造函数 初始化类的新实例
析构函数 在对象被销毁时清理资源
Bark() 让狗叫
ReportDogCount() 报告创建的狗的总数

继续编码,很快你就能轻松创建复杂的程序。快乐学习!

Credits: Image by storyset