以下是 C# 中封装的基本概念:
1. 访问修饰符:
- public: 对象的所有代码块都可以访问。
- private: 只有同一类中的代码块可以访问。
- protected: 只有同一类或派生类中的代码块可以访问。
- internal: 只有同一程序集中的代码块可以访问。
- protected internal: 只有同一程序集中的代码块或派生类中的代码块可以访问。
public class MyClass
{
public int PublicField; // 公共字段,可以被外部代码直接访问
private int privateField; // 私有字段,只能在同一类中访问
protected int protectedField; // 受保护字段,可以在同一类或派生类中访问
internal int internalField; // 内部字段,可以在同一程序集中的任何代码中访问
protected internal int protectedInternalField; // 受保护内部字段,可以在同一程序集中的任何代码或派生类中访问
}
2. 属性(Properties):
属性是用于封装字段的一种方式,通过属性可以控制字段的读取和写入访问。
public class MyClass
{
private string name;
public string Name
{
get { return name; }
set { name = value; }
}
}
上述代码中,Name 属性用于封装 name 字段,通过 get 方法获取值,通过 set 方法设置值。
3. 自动属性:
自动属性是一种简化属性定义的语法糖,编译器会自动生成默认的 get 和 set 方法。
public class MyClass
{
public string Name { get; set; }
}
4. 只读属性:
只读属性只有 get 方法,一旦初始化后就无法再修改。
public class MyClass
{
public string Name { get; }
}
5. 访问器的保护级别:
在属性中,你可以使用不同的访问修饰符为 get 和 set 方法指定不同的保护级别。
public class MyClass
{
private int age;
public int Age
{
get { return age; }
protected set { age = value; }
}
}
以上是在 C# 中实现封装的基本概念。封装帮助实现了对象的隐藏和保护,使得对象的实现细节对于使用者来说是不可见的,提高了代码的安全性和可维护性。
转载请注明出处:http://www.zyzy.cn/article/detail/6343/C#