C#基础|属性Property之读写特性和经典总结

哈喽,你好,我是雷工。
本节学习属性特性——控制读写操作,以下为学习笔记。

01 只读属性

写法1:直接去掉set方法,可以在定义的时候初始化。
示例:

public string CourseName{get}=“雷工笔记”;

写法2:直接去掉set方法,并在get中添加业务逻辑

public string CoueseInfo
{get{ return $"账号名称:{CourseName},账号编号:{CourseId},原创数量:{UnitPrice}";}
}

02 字段(成员变量)的总结

内容使用:字段主要是为类的内部数据交换使用,字段一般是private。
数据存储:字段只是用来存储数据,如果不是静态字段,生命周期和对象共存亡。
读写不限:我们可以给字段赋值,也可以获取字段的值(非常常用)(readonly除外)

在这里插入图片描述

03 属性(字段封装)的总结

外部使用:属性一般是向外提供数据访问,属性是public修饰,用来对外表示对象的静态特征。
业务扩展:属性内部可以添加我们需要的业务逻辑,可以避免非法数据,或完成其他相关任务。
读写可控:属性可以根据需要设置为只读属性,更好地体现面向对象的“封装特性”,也就是安全性。

04 属性和字段的使用

常规化使用:对象本身的“对外”数据保存,都是通过属性完成的,调用者都可以使用。
强制性使用:公有化字段,在很多时候是无法被解析的,(比如dgv,combobox的显示问题)。

05 后记

越是优秀的人,就越懂得终身学习的重要性,掌握更多的技能,意味着可以拥有更多的机遇。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/644058.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

新版ONENET(2024/4/24)通过view3.0可视化保姆级教程(一学就会)附效果图

⏩ 大家好哇!我是小光,想要成为系统架构师的嵌入式爱好者。 ⏩上一篇是STM32通过ESP8266连接最新版的ONENET,成功将数据上传之后,本篇文章使用ONENET的view3.0可视化对数据进行可视化做一个详细教程。 ⏩感谢你的阅读,…

Unity 如何制作和发布你的 Package

一、制作你的第一个 Package Unity Package 不做过多赘述,像 URP 本质上也是一个 Package,在 Unity 中可以通过菜单栏 → Window → Package manager 来管理你当前的所有 Package 本篇文章主要介绍:如何制作并发布属于你的 Package 1.1 Pac…

【1429】招生管理管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 java 招生管理系统是一套完善的java web信息管理系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为 TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5.0&…

齐护K210系列教程(五)_与其它主控通信互动

与其它主控通信互动 文章目录 与其它主控通信互动1,硬件的准备2,UNO的接收发送程序3,AIstart的接收发送程序4,课程资源 联系我们 前面我们了解了AIstart如何通过串口与计算机的交互,那么它是否可以跟其它的主控通过这种…

【C++】手撕list(list的模拟实现)

目录 01.节点 02.迭代器 迭代器运算符重载 03.list类 (1)构造与析构 (2)迭代器相关 (3)容量相关 (4)访问操作 (5)插入删除 我们在学习数据结构的时候…

面包屑新玩法,ReactRouter+Ant Design实现动态渲染

在Ant Design中,可以通过Breadcrumb组件结合react-router库实现动态生成面包屑导航。具体步骤如下: 定义路由配置数据结构 我们需要在路由配置中添加额外的面包屑相关信息,例如面包屑标题、icon等。例如: const routes [{path: /,breadcrumbName: 首页},{path: /users,brea…

《S32G3系列芯片——Boot详解》持续更新中...

总目录:《S32G3系列芯片——Boot详解》持续更新中... ... 一、前言二、启动时序概述(Boot Sequence)三、启动特性(Boot Features)四、启动模式(Boot Mode)五、《S32G3系列芯片——Boot详解》系列…

BM25检索算法 python

1.简介 BM25(Best Matching 25)是一种经典的信息检索算法,是基于 TF-IDF算法的改进版本,旨在解决、TF-IDF算法的一些不足之处。其被广泛应用于信息检索领域的排名函数,用于估计文档D与用户查询Q之间的相关性。它是一种…

量子密钥分发系统的设计与实现(四):量子密钥的产生过程分析

在之前的文章中,我们讨论了QKD系统的光路系统,我们对整个系统最基础的部分有了初步的了解,从本文开始,我们就要往上层出发了,一起探讨下光电信号如何变成最终的密钥。 1.关于QKD后处理 在光路子系统中,Alic…

万界星空科技电机行业MES+商业电机行业开源MES+项目合作

要得出mes系统解决方案在机电行业的应用范围,我们先来看一下传统机电行业的管理难题: 1、 产品标准化程度较低,制造工艺复杂,生产周期较长,产品质量不稳定; 2、 自动化程度低,大多数工序以手工…

医学访问学者专栏—研究领域及工作内容

在国外访问学者申请中,医学领域的研究、教学及从业人员占有相当大的比例,这些医学访问学者的研究领域及工作内容都有哪些?本文知识人网小编就相关问题进行详细阐述,并附带案例说明。 一、在国外做医学访问学者可以从事哪些工作&am…

1142 - SELECT command denied to user ···

MySql子账户操作数据库权限不够,提示错误 1142 - SELECT command denied to user database 1142 - ALTER command denied to user database 以下命令可以解决 GRANT SELEC your_database_name TO mysql_account%;