五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(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)用接口






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

分享到微博請遵守國家法律
泰兴市| 武宣县| 太原市| 新兴县| 荣昌县| 松潘县| 长宁区| 永年县| 大悟县| 咸阳市| 靖江市| 广河县| 商都县| 海口市| 驻马店市| 佛学| 教育| 锡林浩特市| 新竹市| 井冈山市| 广德县| 香河县| 临澧县| 仁化县| 冷水江市| 汤阴县| 四会市| 酒泉市| 古浪县| 彩票| 平乡县| 汾西县| 新乡县| 陆丰市| 平舆县| 庄河市| 赤壁市| 含山县| 偃师市| 敖汉旗| 红原县|