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

相关推荐
kimnoic5 分钟前
Python中使用封装类还是函数以及它们的区别
开发语言·python
代码什么用6 分钟前
Java Web 21-22
java·开发语言·web
青柠之夏cc10 分钟前
Python Java PHP底层对比:内存并发性能全解析
开发语言·python·线程
半亩码田16 分钟前
C#转Python第5.1篇:异步编程:asyncio vs async/await,语法相似但机制不同
开发语言·python·c#
andrsted17 分钟前
练题簿在线免费刷题:Excel、CSV 批量导题与章节整理,把现成表格变成日常题库
学习·微信小程序·小程序·刷题·在线刷题
灯澜忆梦27 分钟前
【Linux】#5 | 文件与目录基础操作命令
java·linux·运维
字节跳动的猫30 分钟前
LikeShop 搜索功能优化二开:中文分词、商品权重排序与搜索热词管理
android·java·中文分词
计算机毕设定制辅导-无忧学长30 分钟前
《基于微信小程序的校园文化活动报名与管理系统》
java·spring boot·微信小程序·uniapp·校园文化活动报名与管理小程序
靠沿34 分钟前
MySQL数据库基础——索引的使用&alter、explain关键字
java·数据库·mysql
96245635 分钟前
餐饮 SaaS 优惠券系统架构演进(七)营销定价引擎设计:活动、会员价、优惠券、买赠如何在同一 PriceQuote 中可解释地组合
java·运维·算法