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

相关推荐
RS迷途小书童12 小时前
Python 解析大疆无人机 SRT 字幕日志
开发语言·python·无人机
我不会起名字32212 小时前
一天一道算法题(29):单调栈
java·数据结构·python·算法·leetcode·golang·单调栈
XR12345678813 小时前
医院移动医护零漫游无线网络选型指南
java·后端·struts
z23456d13 小时前
第三十九天学习心得
学习
点心的游戏开发世界13 小时前
GDScript 入门笔记(十六):文件读写与数据持久化
开发语言·笔记·游戏引擎·godot
干到60岁退休的码农13 小时前
13.构建登录接口响应数据
java·spring boot·mybatis
会飞的拖把13 小时前
Python序列详解:列表、元组、字符串的通用操作(超详细版)
开发语言·windows·python
水巷石子13 小时前
学习langChain4j的第二天,体验springBoot中的starter
java·spring boot·学习·spring·langchain4j
ly768913 小时前
Spring Bean生命周期全流程:从BeanDefinition到销毁
java·后端·spring·bean生命周期·beandefinition·初始化回调