メソッドのオーバーロード

確認済のバージョン: 4.1

-

難易度: 中級

メソッドをオーバーロードして、同じ名前でも異なるメソッドを作成する方法を学びます。

メソッドのオーバーロード

中級 Scripting

SomeClass

Code snippet

using UnityEngine;
using System.Collections;

public class SomeClass
{
    //最初の Add メソッドは "Add(int, int)" のシグネチャを持っています
    //このシグネチャは固有のものでなければなりません
    public int Add(int num1, int num2)
    {
        return num1 + num2;
    }
    
    //2 番目の Add メソッドは "Add(string, string)" のシグネチャを持っています
    //このシグネチャも固有のものでなければなりません
    public string Add(string str1, string str2)
    {
        return str1 + str2;
    }
}
#pragma strict

public class SomeClass
{
    //最初の Add メソッドは "Add(int, int)" のシグネチャを持っています
    //このシグネチャは固有のものでなければなりません
    function Add(num1 : int, num2 : int) : int
    {
        return num1 + num2;
    }
    
    //2 番目の Add メソッドは "Add(string, string)" のシグネチャを持っています
    //このシグネチャも固有のものでなければなりません
    function Add(str1 : String, str2 : String) : String
    {
        return str1 + str2;
    }
}
import UnityEngine
import System.Collections


public class SomeClass:

    //最初の Add メソッドは "Add(int, int)" のシグネチャを持っています
    //このシグネチャは固有のものでなければなりません
    public def Add(num1 as int, num2 as int) as int:
        return (num1 + num2)

    
    //2 番目の Add メソッドは "Add(string, string)" のシグネチャを持っています
    //このシグネチャも固有のものでなければなりません
    public def Add(str1 as string, str2 as string) as string:
        return (str1 + str2)

SomeOtherClass

Code snippet

using UnityEngine;
using System.Collections;

public class SomeOtherClass : MonoBehaviour 
{
    void Start () 
    {
        SomeClass myClass = new SomeClass();
        
        //どちらの Add メソッドかは、
        //渡される引数によって特定されます
        myClass.Add (1, 2);
        myClass.Add ("Hello ", "World");
    }
}
#pragma strict

function Start () 
{
    var myClass = new SomeClass();
        
    //どちらの Add メソッドかは、
        //渡される引数によって特定されます
    myClass.Add (1, 2);
    myClass.Add ("Hello ", "World");
}
import UnityEngine
import System.Collections


public class SomeOtherClass(MonoBehaviour):

    private def Start():
        myClass = SomeClass()
        
        //どちらの Add メソッドかは、
        //渡される引数によって特定されます
        myClass.Add(1, 2)
        myClass.Add('Hello ', 'World')

関連するチュートリアル