C# 通俗讲解Public、Private以及Protected、[HideInInspector]、[SerializeField]的区别

news2024/12/28 9:18:29
一、故事背景

1.我画了一幅画,把它放在室外,所有人都可以看见这个画,所有人都可以对这个画进行修改。

2.我非常非常努力,赚了一大笔钱,这笔钱,只能我和我的子孙后代用,但如果我的孩子需要传给他们的孩子,也可以用。

3.我娶了一个媳妇,她只是我的,不能给别人,也不能被自己的孩子继承(不要杠,杠就是你是对的!)

以上三种情况,我们在代码里也会遇见。


二、Public、Protected以及Private

如果我在一个代码里写了public int apple;

那么,这个apple是其他代码也可以调用到的,甚至可以更改。

如果我在一个代码里写了protected int apple

那么,这个apple只能被现在这个代码和继承了自己的代码使用和更改。

如果我在一个代码里写了Private int apple

那么,这个apple只能被现在这个代码使用和更改。

三、unity面板里的Public、Protected以及Private

如果你是在unity里写的,public和其他俩还有一个重要的区别,就是public是可以在面板里被看见的,其他两个不可以。

四、[HideInInspector]、[SerializeField]的区别

在上一条的情况下,我们在Unity里面使用,会出现新的需求:

1.(public)我还是愿意让所有代码都调用到,都可以修改,可是,我不想再面板上看见它。那就在代码上面加上[HideInInspector],意思是,在面板中隐藏

    [HideInInspector]
    public int apple = 10;

2.(Protected、Private)其他功能我想保持不变,可我希望能在面板上看见,在面板上改动它。

那就在代码上面加上[SerializeField],意思是,在面板中显示并可以操作

    [SerializeField]
    protected int apple2 = 10;

    [SerializeField]
    private int apple3 = 10;

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

unity旋转选中效果

代码和预制体 函数PlayAnim()中的角度要根据按钮数量手动填好 using System; using DG.Tweening; using DG.Tweening.Core; using DG.Tweening.Plugins.Options; using UnityEngine;// Token: 0x0200001B RID: 27 public class BtnParentScript : Base…

24、pytest通过xfail将测试函数标记为预期失败

官方实例 # content of test_xfail.py import pytest import syspytest.mark.xfail def test_function():print("test_function was invoked.")def valid_config():return Falsedef test_function_02():if not valid_config():pytest.xfail("failing configura…

JVM 虚拟机(一)导学与字节码文件组成

一、实战 JVM - 基础篇 初识 JVM 什么是 JVM? Java Virtual Machine(JVM),中文翻译为 Java 虚拟机 JVM 的功能 解释和运行:对字节码文件中的指令进行实施的解释成机器码,让计算机执行。自动为对象和方法…

PyTorch机器学习与深度学习实践技术应用

近年来,随着AlphaGo、无人驾驶汽车、医学影像智慧辅助诊疗、ImageNet竞赛等热点事件的发生,人工智能迎来了新一轮的发展浪潮。尤其是深度学习技术,在许多行业都取得了颠覆性的成果。另外,近年来,Pytorch深度学习框架受…

不会代码(零基础)学语音开发(语音播报板载双按键状态)

这个例程实现语音播报VDB-150S语音开发板板载的按键开关SW1、SW2的按下情况。 语音开发板将板载的按键开关SW1、SW2的一端都接到了GND端,另一端分别连接到语音模块的GPIO_B0、GPIO_B1引脚,当按下SW1时GPIO_B0引脚会输入低电平,当按下SW2时GP…

Hadoop学习笔记(HDP)-Part.19 安装Kafka

目录 Part.01 关于HDP Part.02 核心组件原理 Part.03 资源规划 Part.04 基础环境配置 Part.05 Yum源配置 Part.06 安装OracleJDK Part.07 安装MySQL Part.08 部署Ambari集群 Part.09 安装OpenLDAP Part.10 创建集群 Part.11 安装Kerberos Part.12 安装HDFS Part.13 安装Ranger …

pyqt5+QWebEngineView+pdfjs+win32print实现pdf文件的预览、打印

一、pdf显示逻辑 import sys from PyQt5 import QtCore, QtWidgets, QtWebEngineWidgetsPDFJS = file:///pdfjs-1.9.426-dist/web/viewer.html # PDFJS = file:///usr/share/pdf.js/web/viewer.html PDF = file:///D:/Code/report.pdfclass Window(QtWebEngineWidgets.QWebEng…

使用 MITRE ATTCK® 框架缓解网络安全威胁

什么是MITRE ATT&CK框架 MITRE Adversarial Tactics, Techniques, and Common Knowledge(ATT&CK)是一个威胁建模框架,用于对攻击者用来入侵企业、云和工业控制系统(ICS)并发起网络攻击…

在交易中价差遇上对冲,fpmarkets操作得当,盈利必不可少

想不到吧!fpmarkets发现在交易中价差遇上对冲,只要操作得当,盈利必不可少。 下面我们就通过实践证明这个认知,我们大家都知道,交易可以分为两种方式:激进的和保守的。从定义中可以清楚地看出,一种方式风险较…

机器学习实验一:线性回归

系列文章目录 机器学习实验一:线性回归机器学习实验二:决策树模型机器学习实验三:支持向量机模型机器学习实验四:贝叶斯分类器机器学习实验五:集成学习机器学习实验六:聚类 文章目录 系列文章目录一、实验…

【python】使用pipenv创建虚拟环境进行打包

文章目录 一、pipenv 介绍二、快速上手使用pipenv2.1 安装pipenv2.2 创建虚拟环境2.3 激活环境2.4 虚拟环境中安装项目依赖包2.5 检查项目在虚拟环境中是否能正常运行2.6 打包项目2.7 删除虚拟环境 起因: 本地安装的模块太多,使用pyinstaller打包,会把许多无关模块打包进去&…

“站立的山川——周扬波 中国山水画创作新表达系列画展”将亮相深圳东方美术馆

展览信息 站立的山川——周扬波 中国山水画创作新表达系列画展 中国文学艺术界联合会青年文艺创作扶持计划项目 学术主持 陈明 学术顾问 何加林 主办单位 中国文化艺术发展促进会水墨画专业委员会 承办单位 深圳东方美术馆 协办单位 李可染画院 深圳东方银座酒店 …

微信小程序pc端宽高:默认宽高为1024*812,全屏宽高为1920*1032

最近开发调试pc端小程序,想知道默认打开和全屏这两种情况下的小程序宽高,发现了一种方法: 真机运行pc端小程序,点击devTools 在控制台直接打印window对象,可以获取到pc端默认屏幕宽高为1024*812,全屏pc端小…

微信小程序怎么做店铺

随着移动互联网的快速发展,越来越多的企业和个人开始在微信小程序上开设店铺,以实现线上销售。那么微信小程序怎么做店铺呢?下面给大家分享下步骤指南。 首先需要明确你的店铺定位和目标用户群体。这一步骤非常关键,因为它将决定你…

Qt + MySQL(简单的增删改查)

Qt编译MySql插件教程 QSqlDatabase 静态函数 1.drivers(),得到可以使用的数据库驱动名字的集合 [static] QStringList QSqlDatabase::drivers();2.addDatabase(),添加一个数据库实例 [static] QSqlDatabase QSqlDatabase::addDatabase(const QStrin…

抖音商家电话采集如何用爬虫软件实现

随着互联网的发展,越来越多的商家开始在抖音上开设店铺。本文将介绍如何用爬虫软件实现抖音商家电话采集。 第一步:安装Python爬虫框架 Python爬虫框架有很多,比如Scrapy、BeautifulSoup等。本文选择使用Scrapy框架,因为它具有强…

用python测试网络上可达的网络设备

用python测试网络上可达的网络设备 之前使用的os在python中执行ping测试网络中可达的目标,但是他在执行ping命令时脚本会将系统执行ping时的回显内容显示出来,有时这些回显并不是必要的。如果用脚本一次性ping成百上千台网络设备或者URL时会影响美观和阅…

电商API接口开发和接入说明{包含淘宝/京东/拼多多/抖音}

“为什么改了这个没告诉我” “实际功能和文档上说的不一样啊”。 这些话大家在进行电商API接口开发时,想必耳朵都听出老茧了。 真不是故意的,有时候任务比较急,就先改了代码,想着以后再同步文档,然后就给忘了。 项…

【Vue】vue | npm run build打包缺少模块 | 打包缺少模块代码

一、说明 1、项目时间长了,vue的node_modules依赖竟然到了16个G 2、之前npm run build:prod都是可以的 3、最新一次竟然失败了,说缺少模块 二、解决 1、删除node_modules模块 2、强删缓存 npm cache clear --force 3、删除package-lock.json 4、重新…

【C++】:set和map

朋友们、伙计们,我们又见面了,本期来给大家解读一下有关多态的知识点,如果看完之后对你有一定的启发,那么请留下你的三连,祝大家心想事成! C 语 言 专 栏:C语言:从入门到精通 数据结…