[转载](来自知乎)Unity反射机制的理解

Unity3d采用反射而非虚函数调用Start等方法,以此避免空调用提升性能。这种方式增强了组件间的解耦,支持灵活的事件通知机制。
转载自:https://blog.youkuaiyun.com/zzmkljd/article/details/51965119
Unity3d开发,需要继承MonoBehaviour,实现Start方法:

using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour {
    private GameObject target;
    void Start() {
        target = GameObject.FindWithTag("Player");
    }
}


但是这个Start方法是私有的,而不是override MonoBehaviour中已有的方法。

按我的理解,应该在MonoBehaviour中设计一个abstract或virtual的Start方法,然后让子类去实现它才对啊!

难道Unity3d 引擎部分在调用ExampleClass时用的是反射?他们这样设计是出于什么目的的?有什么好处?



更多回答
20 赞同 反对,不会显示你的姓名
知乎用户  ,飘逸的程序员/初级制作人







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值