上一篇: C# 循环

下一篇: C# 方法

C# 封装

封装是面向对象编程的四大基本特征之一(封装、继承、多态和抽象)。封装指的是将数据和操作数据的方法组合到一个单元中,通常是类。本教程将为您介绍如何在 C# 中实现封装。

类与对象

类是一种代码模板,用于创建具有相同属性和行为的对象。在 C# 中,可以通过定义类来封装数据和方法。下面是一个简单的类定义示例:

                public class Person
                {
                    public string Name;
                    public int Age;

                    public void Speak()
                    {
                        Console.WriteLine("Hello, my name is " + Name + " and I am " + Age + " years old.");
                    }
                }
                

上面的 Person 类包含两个公共字段(NameAge)和一个公共方法(Speak())。我们可以使用这个类来创建 Person 对象,并设置其属性和调用其方法。

                Person person1 = new Person();
                person1.Name = "Alice";
                person1.Age = 30;
                person1.Speak(); // 输出: Hello, my name is Alice and I am 30 years old.
                

访问修饰符

访问修饰符决定了类成员的可见性。有四种访问修饰符:

  • public: 公共成员可以在任何地方访问。
  • private: 私有成员只能在其所属类中访问。
  • protected: 受保护成员可以在其所属类和派生类中访问。
  • internal: 内部成员可以在同一个程序集中的任何类中访问。

以下示例将 Person 类的字段设置为私有,并添加公共属性来获取或设置这些字段的值:

                public class Person
                {
                    private string name;
                    private int age;

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

                    public int Age
                    {
                        get { return age; }
                        set { age = value; }
                    }

                    public void Speak()
                    {
                        Console.WriteLine("Hello, my name is " + Name + " and I am " + Age + " years old.");
                    }
                }
                

现在,外部代码无法直接访问 nameage 字段,而是通过 NameAge 属性进行访问。这为我们提供了更好地控制对对象数据的访问,防止意外修改数据。

                Person person1 = new Person();
                person1.Name = "Alice";
                person1.Age = 30;
                person1.Speak(); // 输出: Hello, my name is Alice and I am 30 years old.
                

构造函数

构造函数是一种特殊的方法,它在创建类的新实例时被调用。构造函数的名称与类名相同,并且没有返回类型。

                public class Person
                {
                    private string name;
                    private int age;

                    public Person(string name, int age)
                    {
                        this.name = name;
                        this.age = age;
                    }

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

                    public int Age
                    {
                        get { return age; }
                        set { age = value; }
                    }

                    public void Speak()
                    {
                        Console.WriteLine("Hello, my name is " + Name + " and I am " + Age + " years old.");
                    }
                }
                

现在我们可以在创建 Person 对象时直接为其指定 NameAge 属性:

                Person person1 = new Person("Alice", 30);
                person1.Speak(); // 输出: Hello, my name is Alice and I am 30 years old.
                

通过以上介绍,您已经了解了如何在 C# 中实现封装。正确地使用类、访问修饰符和构造函数可以帮助您编写结构良好且易于维护的代码。