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;

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐