LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

【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将属性私有化,通过公有化的方法进行操作        //private只在本类中使用        private int id;        private string name;        private string status;        //公有化get/set访问器                public int Id         {            get { return id; } //设置属性可读            set { id = value; }//设置属性可写        }        public string Name        {            get { return name; }            set { name = value; }        }        public string Status        {            get { return status; }            //访问流程-先执行主程序中motor.Status = "..";            //然后调用Status中的set访问器,将".."传给value            //如果输入的内容正确,经value传给private中的ststus,否则给出提示            set             {                if (value.Equals("正转") || value.Equals("反转") || value.Equals("静止"))                    status = value;                else                    status = "电机故障";            }        }        public void MotorStatue()        {            MessageBox.Show($"电机编号:{id},电机名称:{name},电机状态:{status}");        }    }}
通过对类中public封装属性赋值来修改类中private属性中的值。
namespace _013_封装{    //封装(Encapsulation)是将对象的状态(数据)和行为(方法)结合在一起,    //并通过访问修饰符限制对这些数据和行为的访问。    //封装的主要目的是为了保护对象的内部状态和实现细节,从而提供更好的数据控制和安全性。
    //封装允许类将数据(字段)隐藏在类的内部,通过公开的方法(接口)来操作这些数据。    //这样,外部代码无法直接访问不应该被直接修改或查看的内部数据。
    //定义私有字段:将类的字段设为private,限制它们在类外部的访问。    //提供公共属性:通过public属性(getter和setter)来允许外部访问和修改私有字段。    //使用方法操作数据:可以提供公共方法以更复杂的方式操作数据,确保数据的一致性和有效性。    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 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2025 ClickSun All Rights Reserved