C# 中两个类没有同一个命名空间,没有同一个基类,没有继承关系。也可以互相访问数据!
原理就是!A类是一个国家,叫中国,B类也是一个国家叫俄罗斯,A类想要访问B类中的变量和方法!可以让B类俄罗斯在中国派驻一个大使馆,使馆使者也就是B类的实例化对象
(B oneB=new B())
oneB就相当于B派出的大使馆使者!oneB可以在别的国家(A类中)直接调用B类中公共函数和变量(前面带有Public 的都是公共变量和方法)
1.在A类中之间实例化B类的对象(B的使者)
在一个类A中,将另一个类B作为普通类型声明变量即可(也就是实例化对象),类似 int A ,float A
这样就可以通过B实例化对象访问B类中全部数据!而此时B的实例化对象,身在他乡,在A中就可以发挥作用!但是这相当于给B复制了一份!这种情况更适用于:
在一个类中调用另一个类的方法!
如果是另一个类中有一个变量需要被改变和实时维护,更适合用静态变量!
代码示例
using UnityEngine;
using TMPro;//引用文本UI插件
public class Score
{
public leoyang one;
private void Awake()//比start先执行,仅仅执行一次
{
Debug.Log(one.A = 15) ;
}
}
public class leoyang
{
public int A = 10;
}
GameObject
2.B类中声明静态变量或方法,在他国A中就可以之间通过B的类名访问其静态变量
public static float one=10;
文章链接
发表评论