【C#】封装的作用及实现方法
|
admin
2025年2月28日 16:14
本文热度 127
|
封装(Encapsulation)是将对象的状态(数据)和行为(方法)结合在一起,并通过访问修饰符限制对这些数据和行为的访问。
封装的主要目的是为了保护对象的内部状态和实现细节,从而提供更好的数据控制和安全性。
封装允许类将数据(字段)隐藏在类的内部,通过公开的方法(接口)来操作这些数据。
这样,外部代码无法直接访问不应该被直接修改或查看的内部数据。
定义私有字段:将类的字段设为private,限制它们在类外部的访问。
提供公共属性:通过public属性(getter和setter)来允许外部访问和修改私有字段。
使用方法操作数据:可以提供公共方法以更复杂的方式操作数据,确保数据的一致性和有效性。
说白了就是在类中定义私有属性,然后将私有属性封装在一个公有的属性中,外部通过访问这个公有的属性来修改私有属性的值,并且可以判断外部给定这个共有属性的值是否符合私有属性的要求从而给出判断。
如:在Motor类中定义私有属性id,name,status。然后将其封装在公有的属性Id,Name,Status中。其中get为设置属性可读,set为设置属性可写。对status所接收的值做限制,如果接收到的输入值不是正转或者反转则赋值为:故障。
namespace _013_封装
{
internal class Motor
{
private int id;
private string name;
private string status;
public int Id
{
get { return id; }
set { id = value; }
}
public string Name
{
get { return name; }
set { name = value; }
}
public string Status
{
get { return status; }
set
{
if (value.Equals("正转") || value.Equals("反转") || value.Equals("静止"))
status = value;
else
status = "电机故障";
}
}
public void MotorStatue()
{
MessageBox.Show($"电机编号:{id},电机名称:{name},电机状态:{status}");
}
}
}
通过对类中public封装属性赋值来修改类中private属性中的值。namespace _013_封装
{
public partial class 封装 : Form
{
public 封装()
{
InitializeComponent();
}
private void btEnc_Click(object sender, EventArgs e)
{
Motor motor = new Motor();
motor.Id = 1;
motor.Name = "行走";
motor.Status = "12124";
motor.MotorStatue();
}
}
}
访问流程:
1)先执行主程序中motor.Status = "..";
2)然后调用Status中的set访问器,将".."传给value
3)判断如果输入的内容正确,经value传给private中的ststus,否则给出提示
该文章在 2025/2/28 16:15:17 编辑过