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

相关推荐
hold?fish:palm13 小时前
从源码到可执行文件:C++程序的编译过程
开发语言·c++
随性而行36013 小时前
微信API接口与AI自动化:开发者的实现思路
运维·服务器·开发语言·人工智能·微信·自动化
沫离痕14 小时前
Cassandra 4.0.11 Docker 安装与配置手册
java·spring boot
lingran__14 小时前
C++_STL简介
开发语言·c++
plainGeekDev14 小时前
libs 目录 → Gradle 依赖管理
android·java·kotlin
CodeStride14 小时前
就像长跑配速一样,我是如何平衡代码性能与可读性的
java
旋律翼214 小时前
Qt Bridges for C# 深度技术解析
开发语言·qt·c#
弹简特14 小时前
【Java项目-企悦抽】07-用户与认证模块-实现用户注册01
java·开发语言
L歪歪君14 小时前
Apache Doris全链路性能优化实战指南:从架构设计到生产落地
java·开发语言·算法
山东点狮信息科技有限公司14 小时前
SpringBoot+VUE3,一套系统完成OA+HRM+CRM+MES+合同+项目管理 —— 深度解析点狮全业务管理平台
java·spring boot·后端