上一篇: 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
类包含两个公共字段(Name
和 Age
)和一个公共方法(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."); } }
现在,外部代码无法直接访问 name
和 age
字段,而是通过 Name
和 Age
属性进行访问。这为我们提供了更好地控制对对象数据的访问,防止意外修改数据。
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
对象时直接为其指定 Name
和 Age
属性:
Person person1 = new Person("Alice", 30); person1.Speak(); // 输出: Hello, my name is Alice and I am 30 years old.
通过以上介绍,您已经了解了如何在 C# 中实现封装。正确地使用类、访问修饰符和构造函数可以帮助您编写结构良好且易于维护的代码。