unity中 类与函数、函数参数之间的花式使用方式(一)

前言

我们一般在学习的时候往往写一个函数时,里面需要传入参数,此时的参数往往都是自己类里的字段属性或者是临时变量。然而在写项目时发现,一般会使用设计好的模式,框架来写。此时发现函数的作用,和使用方式是多种多样的,因为公有函数会被其他类调用了。

这里来记录一些遇到过的函数巧妙的写法和使用

给自己类的字段赋值

一般来说,写公有方法,是可以给其他类使用的,但是有时候也可以说让其他类使用,来帮自己赋值

  • 在其他类使用,来为自己的类中的字段赋值,即函数的参数是其他类(或父类)中的字段、成员
    如:当父类和子类都有一个私有id字段,在父类创建一个子类时,子类需要id字段赋值,此时子类写个公有方法SetID(int id){this.ID = id;},父类获取这个子类对象让子类对象调用这个方法,在参数列表里面传入自己的id值给子类,从而确保父类id与子类id值是一致的
//父类和子类都有一个私有id字段
    //父类
    void Start(){

        int count = YoungInfos.instance._shopInfos.Count;

        for (int i = 0; i < count; i++) {
            //使用NGUI工具创建物体
            GameObject go = NGUITools.AddChild (grid.gameObject, _shopItem);
            grid.AddChild (go.transform);   
            int id = YoungInfos.instance._shopInfoKeys[i];
            go.GetComponent<YounpShopItem> ().SetID (id); 
        }
    }

    //子类公有方法
    public void SetID(int id) {
        this.ID = id;
    }

让父类id和子类id值一致有什么好处?
这里解决了动态创建物体对象而要确定是哪个具体id的问题。我们动态创建了一个物体对象,但是这个物体对象的字段没有初始化id,也就无法根据id来做出相应的操作。

而父类的id往往从数据控制类中的容器里获取得到,如父类对象是UI层的一个物体对象,要从商品控制信息类容器中找到有商品的所有id,然后把这些id给动态创建的子类对象字段赋值。

此时新创建的子类对象有了id,就可以根据从商品信息控制类中的容器里找到某个Item类对象,根据这个item类里的信息来做相应的(UI)显示操作

总结

上面是通过父类和子类的关系为例,即父类调用子类的公有方法,给子类私有字段赋值

猜你喜欢

转载自blog.csdn.net/liaoshengg/article/details/81062604