20230703_092134 csharp 字段的封装 属性的get与set代码段

20230703_092134 csharp 字段的封装 属性的get与set代码段

什么是封装

把属性进行封闭
不让外部来访问

情景例子
小明把自己的内心封装起来
其他人再也无法得知他的内心想法

为什么要封装

如果不对属性进行封装
其它伙伴程序员可能会对这个属性进行不合适的操作
例子:
把学生对象的年龄设置为一个不合适的值

// 定义一个学生对象 xm
Student xm = new Studnet();
// 对xm的年龄进行修改
xm.age = 10000;

为了防止这种现象的出现
我们会对age属性进行封装

封装后的结果是
其他伙伴程序员就无法操作age这个属性了

怎样去封装

如何通过代码的形式让age变成不可访问的

通守关键词

private

来让属性进行封装

名词

在c#中需要区分两个名词

字段(类中的成员变量)
属性 (具有get与set代码段的变量)

演练环节

新建一个项目

在项目入口处先编写卡顿的代码

        static void Main(string[] args)
        {


            // 卡顿
            Console.ReadLine();
        }

编写目标逻辑

            // 实例化一个学生对象

            // 设置这个学生对象的年龄

            // 让这个学生对象说出自己的信息

定义学生类

    class Student
    {
        // 定义一个年龄的字段,把这个字段封装
        private int age;

    }

对age字段进行封装

双击选中字段age
右击
重构
封装属性

在这里插入图片描述

封装成功后

    class Student
    {
        // 定义一个年龄的字段,把这个字段封装
        private int age;
        // 把age字段进行封装后得到的属性Age
        public int Age
        {
            get { return age; }
            set { age = value; }
        }
    }

封装操作到此完成

get与set

当对属性进行取值操作时,会触发get代码段
当对属性进行赋值操作时,会触发set代码段

给对象赋值

           // 对象.属性 = 值;  (设置值,会触发属性的set方法)
            xm.Age = 10000;

获取对象的值

            // 对象.属性  (获取值,会触发属性的get方法)
            Console.WriteLine(xm.Age);

演练

类的定义

定义一个人类
People

给它定义一个name字段
把name字段进行封装

给它定义一个age字段
把age字段进行封装

对象的操作

在入口
实例化一个人的对象
变量名为lb

设置lb的名字为
吕布
设置lb的年龄为
28

编码完成这个需求

发送截在自己单元格

演练2

设置年龄时

如果年龄大于130岁或者年龄小于0岁
我们让年龄的值为18岁

获取年龄时

如果年龄大于30岁
那么返回30岁

如果年龄小于等于30岁
就返回实际年龄

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鲸鱼编程pyhui

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值