一篇文章搞懂C#的封装

一篇文章搞懂C#的封装

编码文章call10242025-01-10 13:58:1526A+A-

1.1.1. 什么是封装?

封装是将对象的内部数据和实现细节隐藏起来,只通过公共方法与外界交互。这样可以保护数据,防止外部代码直接访问和修改。

1.1.2. 如何实现封装?

要实现数据封装需要用到两个元素:私有字段和公共方法;

(1) 将类的字段声明为私有,只能在类内部访问。

(2) 通过公共的 getter 和 setter 方法访问和修改这些字段。C# 提供了属性(Properties)功能,用于简化 getter 和 setter 的编写。

// 定义一个 Person 类来表示个人
class Person
{
    // 私有字段,表示个人的姓名和年龄
    private string name;  // 表示个人的姓名
    private int age;      // 表示个人的年龄

    // 公共属性 Name,用于获取和设置 name 字段
    public string Name
    {
        get { return name; }  // 获取 name 字段的值
        set { name = value; } // 设置 name 字段的值
    }
?
    // 公共属性 Age,用于获取和设置 age 字段,可以用来校验数据
    public int Age
    {
        get { return age; }  // 获取 age 字段的值
        set 
        { 
            if (value >= 0)  // 确保年龄是非负数
            {
                age = value; // 设置 age 字段的值
            }
        }
    }
}
?
// 测试程序类
class Program
{
    static void Main(string[] args)
    {
        // 创建一个 Person 类的实例
        Person person = new Person();
        
        // 设置姓名和年龄
        person.Name = "Alice";
        person.Age = 30;
        
        // 输出姓名和年龄
        Console.WriteLine(#34;Name: {person.Name}, Age: {person.Age}");
    }
}

1.1.3. 封装的优点

优点

解释

数据保护

防止外部代码直接修改内部数据。

灵活性

通过控制访问方法,可以轻松修改数据逻辑。

1.1.4. 访问修饰符

修饰符

说明

public

任何代码都能访问。

private

只能在类内部访问。

protected

只能在类内部和派生类中访问。

1.1.5. 总结

封装通过隐藏对象内部的实现细节,只允许通过公共方法和属性与外界交互,从而保护数据的完整性和安全性,提高代码的灵活性和可维护性。

点击这里复制本文地址 以上内容由文彬编程网整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
qrcode

文彬编程网 © All Rights Reserved.  蜀ICP备2024111239号-4