学习c#第27天 面向对象基础之字段属性

字段容易被恶意赋值,所以字段常用private修饰。这样通过对象名.xxx的形式访问不到。但是我们又需要通过对象名.xxx的形式对字段存储的数据进行操作。

这个时候就需要一个新东西"属性"。

属性的作用是对字段进行保护,我们将属性设为public,可直接访问,然后属性保护的字段设置成为private 我们通过属性简介的操作字段。

属性的语法

public 数据类型 属性名

{

get {return 字段名;}

set {字段名 = value;}

}

数据类型:和要保护的字段一致

属性名:和字段名一样,只不过首字母要大写

get :当通过属性名取值的时候,会自动调用get中的代码

set : 当通过属性名给字段赋值时,会自动调用set中的代码

value: 也是系统关键字,代表赋给属性的值 get和set本质上是两个函数。

1.使用属性保护字段

private int age;(在类中)

public int Age

{

get{return age;}

set{value = age; }

}

2使用属性对字段赋值进行合法性校验

public int Age

{

get {return age;}

set

{

if(value > 100 || value <0)

{

age = 18;

}

else

{

value = age;

}

}

此时赋值P1.Age = -8 ;时 会检测到非法字符自动替换为18。避免有玩家恶意赋值

相关推荐
猫猫不是喵喵.2 分钟前
认证授权【Spring Security】
java·认证授权
小罗水2 分钟前
第1章 大模型、企业知识库与 RAG 平台概述
java·spring
xian_wwq4 分钟前
【学习笔记】Agent 安全护栏 —— 当 Agent DROP TABLE 了你的生产数据库-07/15
笔记·学习·安全
不知疲倦的仄仄10 分钟前
MySQL/Read View快照/MVCC/串行化
java·数据库·mysql
奶糖 肥晨13 分钟前
mac系统中Java项目环境配置与问题解决全记录|环境准备篇:JDK与Maven安装配置
java·macos·maven
向夏威夷 梦断明暄26 分钟前
C# 弃元模式:从语法糖到性能利器的深度解析
服务器·数据库·c#
SimonKing39 分钟前
OpenCode 桌面版这 10 天偷偷迭代了 5 个版本,你还在用旧版吗?
java·后端·程序员
lichuangcsdn1 小时前
【Spring AI 学习(一)】spring ai是什么
人工智能·学习·spring·spring ai
小大宇1 小时前
python sqlalchemy 案例
开发语言·python
MartinYeung51 小时前
[论文学习]AgentDojo:用于评估LLM智能体提示注入攻击与防御的动态环境
网络·学习