「Unity/Csharp/クラス/インターフェイス」の版間の差分
ナビゲーションに移動
検索に移動
編集の要約なし |
|||
| (同じ利用者による、間の5版が非表示) | |||
| 29行目: | 29行目: | ||
void Start(); | void Start(); | ||
void Destroy(); | void Destroy(); | ||
} | |||
</pre> | |||
==インターフェイスを2つ実装したサンプル== | |||
IUseCaseインターフェイスをUserUseCaseクラスに実装 | |||
呼び出し | |||
<pre> | |||
UserUseCase userUseCase = new UserUseCase(); | |||
userUseCase.Start(); | |||
(userUseCase as IUserDelegate).OnClickUser(); // IUserDelegateだけのメソッドを持つインスタンスにして、メソッドを実行したい場合。 | |||
</pre> | |||
UserUseCase.cs | |||
<pre> | |||
public class UserUseCase : IUseCase, IUserDelegate | |||
{ | |||
public void Start() | |||
{ | |||
Debug.Log("UserUseCase.Start"); | |||
} | |||
public void Destroy() | |||
{ | |||
Debug.Log("UserUseCase.Destroy"); | |||
} | |||
public void OnClickUser() | |||
{ | |||
Debug.Log("UserUseCase.OnClickUser"); | |||
} | |||
} | |||
</pre> | |||
IUseCase.cs | |||
<pre> | |||
interface IUseCase | |||
{ | |||
void Start(); | |||
void Destroy(); | |||
} | |||
</pre> | |||
IUserDelegate.cs | |||
<pre> | |||
public interface IUserDelegate | |||
{ | |||
public void OnClickUser(); | |||
} | } | ||
</pre> | </pre> | ||
2025年5月9日 (金) 04:22時点における最新版
サンプル
IUseCaseインターフェイスをAdUseCaseクラスに実装
呼び出し
AdUseCase adUseCase = new AdUseCase(); adUseCase.Start();
AdUseCase.cs
public class AdUseCase : IUseCase
{
public void Start()
{
Debug.Log("AdUseCase.Start");
}
public void Destroy()
{
Debug.Log("AdUseCase.Destroy");
}
}
IUseCase.cs
interface IUseCase
{
void Start();
void Destroy();
}
インターフェイスを2つ実装したサンプル
IUseCaseインターフェイスをUserUseCaseクラスに実装
呼び出し
UserUseCase userUseCase = new UserUseCase(); userUseCase.Start(); (userUseCase as IUserDelegate).OnClickUser(); // IUserDelegateだけのメソッドを持つインスタンスにして、メソッドを実行したい場合。
UserUseCase.cs
public class UserUseCase : IUseCase, IUserDelegate
{
public void Start()
{
Debug.Log("UserUseCase.Start");
}
public void Destroy()
{
Debug.Log("UserUseCase.Destroy");
}
public void OnClickUser()
{
Debug.Log("UserUseCase.OnClickUser");
}
}
IUseCase.cs
interface IUseCase
{
void Start();
void Destroy();
}
IUserDelegate.cs
public interface IUserDelegate
{
public void OnClickUser();
}