学习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。避免有玩家恶意赋值

相关推荐
薛之谦_9 分钟前
JAVA 多线程编程:从基础原理到实战应用
java·开发语言
LMT_Lanmantech10 分钟前
Creo许可降本增效:不增购,也能让现有许可发挥更大价值
java·大数据·开发语言
星恒随风13 分钟前
Linux进程间通信(一):从匿名管道、命名管道到进程池,深入理解Pipe、FIFO与文件描述符
linux·运维·笔记·学习·状态模式
Shaoshing13 分钟前
Serializable
java
chde2Wang24 分钟前
numpy学习2
学习·numpy
Xudde.28 分钟前
DC-6 靶机渗透测试(Vulnhub Writeup)
笔记·学习·安全·web安全
wuminyu28 分钟前
ZGC染色指针在虚拟线程stackChunkOop上的并发屏障全景分析
java·linux·c语言·jvm·c++
xian_wwq30 分钟前
【学习笔记-一文读懂系列】一文读懂Jev模型
笔记·学习
Highcharts.js34 分钟前
关联网络图可视化与力导向关系图开发示例
学习·信息可视化·highcharts·前端可视化·交互图表·力导向图·network graph
蜗牛互联网40 分钟前
Python Agent 工具调用:审批令牌、参数白名单和累计预算
java·开发语言·人工智能·windows·后端·python