您的位置:首页 > 房产 > 建筑 > 上海建筑设计研究院有限公司_商品房合同备案查询入口_博客程序seo_百度软件优化排名

上海建筑设计研究院有限公司_商品房合同备案查询入口_博客程序seo_百度软件优化排名

2024/12/21 20:16:28 来源:https://blog.csdn.net/sengyongan/article/details/142604627  浏览:    关键词:上海建筑设计研究院有限公司_商品房合同备案查询入口_博客程序seo_百度软件优化排名
上海建筑设计研究院有限公司_商品房合同备案查询入口_博客程序seo_百度软件优化排名

委托(Delegate):

类似广播

概念

将函数或方法作为参数传递给其他函数或对象的机制。它允许您将一个函数指针或成员函数指针绑定到一个特定的对象,并在需要时调用该函数或方法,而无需知道具体的函数名或对象实例。

作用:

降低耦合,动态选择调用(实现回调机制和事件驱动编程),提高了代码的灵活性和重用性

是一种泛型但类型安全的方式,可在C++对象上调用成员函数,可使用委托动态(可以更改)绑定到任意对象的成员函数,尽量通过引用传递委托

声明

(函数签名(函数的声明或定义中包含的信息)《--对应--》宏(委托签名)

UDELEGATE(说明符)和函数的说明符一致

DECLARE_DYNAMIC_MULTICAST_DELEGATE_FourParams(委托名F……,param参数类型,参数名,……)4个参数的动态多播委托

Declare声明_dynamic_multicast_delegate_fourParams

使用:

声明:委托名 name;委托对象:

绑定/分配:(委托绑定到……)

委托对象.Bind……(this成员函数所属类,&myfunc(),payload载荷数据(参数)(携带的数据或者信息)……)绑定到现有委托对象。

BindSP()绑定基于指针的共享成员函数委托。

载荷数据:调用该委托时, 此类参数将被传到绑定函数

执行:(调用绑定到的函数)

委托对象.Execute(参数)执行绑定到委托的回调函数,不检查其绑定情况即执行一个委托

检查:.IsBound()是否绑定

类型

单播:只能绑定到一个函数上

多播:可以绑定多个函数,当委托触发时,将调用所有这些函数

动态:AddDynamicthis对象实例,&函数指针绑定-》参数一致的函数上

动态多播:Broadcast(传入参数)执行

接口:

对于蓝图或c++彼此通信,而不用创建类实例,可以减少类之间的耦合,使得系统更模块化和灵活。

创建蓝图接口:

声明:创建一个蓝图继承接口,声明函数,

实现准备:在其他类实现函数点击上方的class setting,

inherited interfaces(是从父 类继 承下来的接口,我 们无法在当前类手动 添加,可以直接搜索节点定义)

implemented interfaces(在当前类中直接实现的接口,通过add添加)

实现接口:双击接口……进行定义Event(在蓝图的call可以找到谁定义了它,在节点 上有说明Target is || Difines event  for the ……)

调用:

Interface Message(当发送一个接口消息时,所有Event实现了该接口的对象都 会 接收 到并可能做出响应。)

Call Function( 则是明确地调用特定对象中的特定函 数)区别

指定target:Target引脚允许你指定要在其上调用接口函数的具体对象

(仅针对message,::Target引脚的对象是一个包含多个对象的集合(如一个数组或 列 表),接 口消息 节点将会在这些对象中调用指定的接口函数。

·如果Target引脚连接的是一个单独的对象,那么只有这个对象上的接口函数会被调 用

为什么当前类没有接口实现,只有Interface Message接口调用 ,为什么 implemented i nterfaces 也显示接口类名:因为我们有手动添加接口类,只是没有双击接口定义

创建c++接口:

https://blog.csdn.net/qq_44160901/article/details/131772597

声明:继承UInterface,创建函数 public:UFUNCTION(BlueprintNativeEvent)   void OnHit(bool Invulnerability);

定义:在其他类包含接口头文件,多重继承public I接口类名(一定注意I),

重写声明:Virtual 函数 _Implementation(一定要加,因为声明) ovrried

调用接口:获取继承接口的类,cast转化为接口类型指针,Execute_接口名(类指针,实参列表);

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com