インターフェース

確認済のバージョン: 4.1

-

難易度: 中級

インターフェースの作成とクラスへの実装を学びます。

インターフェース

中級 Scripting

Interfaces

Code snippet

using UnityEngine;
using System.Collections;

//1 つの必須メソッドを持つ
//基本的なインターフェースです
public interface IKillable
{
    void Kill();
}

//これは generic なインターフェースです。
//実装するクラスに提供されるデータ型の
//プレースホルダーとして T が置かれています。
public interface IDamageable<T>
{
    void Damage(T damageTaken);
}
#pragma strict

//1 つの必須メソッドを持つ
//基本的なインターフェースです
public interface IKillable
{
    function Kill();
}

//Javascript では generic 型を定義できません。
//そのため、このバージョンの IDamageable では
// float 型を使います。
public interface IDamageable
{
    function Damage(damageTaken : float);
}
import UnityEngine
import System.Collections


//1 つの必須メソッドを持つ
//基本的なインターフェースです
public interface IKillable:

    def Kill()


//これは generic なインターフェースです。
//実装するクラスに提供されるデータ型の
//プレースホルダーとして T が置かれています。
public interface IDamageable[of T]:

    def Damage(damageTaken as T)

Avatar Class

Code snippet

using UnityEngine;
using System.Collections;

public class Avatar : MonoBehaviour, IKillable, IDamageable<float>
{
    //IKillable インターフェースの必須メソッド
    public void Kill()
    {
        //何か楽しいことを行う
    }
    
    //IDamageable インターフェースの必須メソッド
    public void Damage(float damageTaken)
    {
        //何か楽しいことを行う
    }
}
#pragma strict

public class Avatar extends MonoBehaviour implements IKillable, IDamageable
{
    //IKillable インターフェースの必須メソッド
    public function Kill()
    {
        //何か楽しいことを行う
    }
    
    //IDamageable インターフェースの必須メソッド
    public function Damage(damageTaken : float)
    {
        //何か楽しいことを行う
    }
}
import UnityEngine
import System.Collections


public class Avatar(MonoBehaviour, IKillable, IDamageable[of single]):

    //IKillable インターフェースの必須メソッド
    public def Kill():
        pass
        //何か楽しいことを行う
    
    //IDamageable インターフェースの必須メソッド
    public def Damage(damageTaken as single):
        pass
        //何か楽しいことを行う

関連するチュートリアル