无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

十七、接口

2023-02-17 11:37 作者:愛玩UE5的小哥哥  | 我要投稿

一.什么接口?怎么理解接口?

簡單的說,接口提供一組公共的方法,不同的對象中繼承這些方法后可以有不同的具體實現(xiàn)。(這不就是多態(tài)嗎?)

用具體例子來解釋:

上面代碼中dog類和cat類,同樣實現(xiàn)了IDamageable接口,它們都具備了受傷生命值減少的特性,只是他們受傷后的具體表現(xiàn)略有不同:狗直接死亡,貓復(fù)活9次后就死了(多態(tài),不同的類對于接口的實現(xiàn)有所不同),但是他們最終都可能會因受傷過重而死亡(這里體現(xiàn)接口的約束力).

二.接口的意義

1.任何使用接口的類都必須實現(xiàn)這些接口。

2.實現(xiàn)解耦

如上方代碼,Killer無需關(guān)心具體是對貓還是狗造成傷害:

對狗造成傷害,傷害值超過狗的生命值上限,狗會死亡

對貓造成傷害,傷害值超過貓的生命值上限,貓會減少一次復(fù)活機(jī)會然后重生.

這就體現(xiàn)了調(diào)用者(Kill)和實現(xiàn)者(dog,cat)之間并沒有耦合,即不管我打的是誰,只要我打的夠狠,不管他是誰,他都會死,區(qū)別是一槍死還是10槍死而已

3.解決多繼承的問題

三.藍(lán)圖中的接口

藍(lán)圖的新建接口相當(dāng)于定義接口,在一個藍(lán)圖類里面Add接口并且編寫接口的邏輯相當(dāng)于實現(xiàn)接口函數(shù),在另一個類里面執(zhí)行接口函數(shù)相當(dāng)于調(diào)用接口

1.藍(lán)圖接口的創(chuàng)建與實現(xiàn)

BP_Interface
無返回值的接口,實現(xiàn)后是一Even的形式出現(xiàn)

2.藍(lán)圖接口調(diào)用

獲取有接口的多有actor

判斷某個Object是否實現(xiàn)某個接口

四.C++中的接口

1.UE的接口類創(chuàng)建接口


Cpp_Interface

空白類創(chuàng)建接口

自定義接口格式:

#include "空類名.generated.h"

UINTERFACE(MinimalAPI)
class ?U自定義接口名:public UInterface
{
? GENERATED_BODY()
};

class 項目名_API?I與上面的自定義接口名一致
{
? GENERATED_BODY()
public:
? //在此處添加接口函數(shù)聲明
};

空類自定義接口:MyNoonClassInterface

.h文件

.cpp文件

重新編譯C++項目即可在UE的C++Classes中看到這個接口


2.C++中聲明接口函數(shù)

Cpp_Interface.h文件

Cpp_Interface.cpp文件

2.藍(lán)圖中實現(xiàn)接口函數(shù)與調(diào)用接口函數(shù)

新建一個藍(lán)圖類BP_ImpInterface(意思是藍(lán)圖實現(xiàn)接口函數(shù))

①藍(lán)圖實現(xiàn)C++的接口函數(shù)

②藍(lán)圖調(diào)用藍(lán)圖實現(xiàn)C++的接口函數(shù)

新建藍(lán)圖類BP_ExecuteInterface

成功執(zhí)行C++聲明的4個接口函數(shù)

3.C++中實現(xiàn)接口函數(shù)與調(diào)用接口函數(shù)

①C++實現(xiàn)接口函數(shù)

新建一個繼承與Actor的C++類:Cpp_ImpInterface(C++實現(xiàn)接口函數(shù))

Cpp_ImpInterface.h文件

Cpp_ImpInterface.cpp文件

②C++調(diào)用接口函數(shù)

創(chuàng)建一個調(diào)用C++接口的類:Cpp_CallCppInterface

.h文件

.cpp文件

C++中成功調(diào)用接口






十七、接口的評論 (共 條)

分享到微博請遵守國家法律
灵寿县| 石门县| 南漳县| 万安县| 勃利县| 邛崃市| 商河县| 彭阳县| 金寨县| 都江堰市| 白银市| 兰坪| 灵丘县| 寿阳县| 巴里| 长武县| 巍山| 融水| 汉中市| 蓝田县| 弥勒县| 天峨县| 登封市| 五大连池市| 芜湖县| 滦南县| 青海省| 河津市| 普定县| 政和县| 南开区| 拉孜县| 济南市| 寻甸| 同德县| 桂平市| 乌拉特中旗| 中宁县| 隆回县| 柏乡县| 应城市|