メンバーの隠ぺい

確認済のバージョン: 4.1

-

難易度: 中級

派生クラスで基底メンバーの隠ぺいを行う方法を学びます。

メンバーの隠ぺい

中級 Scripting

Humanoid Class

Code snippet

using UnityEngine;
using System.Collections;

public class Humanoid
{
    //基底クラスバージョンの Yell メソッド
    public void Yell()
    {
        Debug.Log ("Humanoid version of the Yell() method");
    }
}
//Javascript の機能としてメンバー隠ぺいは備わっていません。
//その代わりに、デフォルトですべてのメンバーはオーバーライドされます。
//詳しくは、関連するチュートリアルの Overriding を参照してください。
import UnityEngine
import System.Collections


public class Humanoid:

    //基底クラスバージョンの Yell メソッド
    public def Yell():
        Debug.Log('Humanoid version of the Yell() method')

Enemy Class

Code snippet

using UnityEngine;
using System.Collections;

public class Enemy : Humanoid
{
    //Humanoid クラスのバージョンを隠ぺいします
    new public void Yell()
    {
        Debug.Log ("Enemy version of the Yell() method");
    }
}
//Javascript の機能としてメンバー隠ぺいは備わっていません。
//その代わりに、デフォルトですべてのメンバーはオーバーライドされます。
//詳しくは、関連するチュートリアルの Overriding を参照してください。
import UnityEngine
import System.Collections


public class Enemy(Humanoid):

    //Humanoid クラスのバージョンを隠ぺいします
    new public def Yell():
        Debug.Log('Enemy version of the Yell() method')

Orc Class

Code snippet

using UnityEngine;
using System.Collections;

public class Orc : Enemy
{
    //Enemy クラスのバージョンを隠ぺいします
    new public void Yell()
    {
        Debug.Log ("Orc version of the Yell() method");
    }
}
//Javascript の機能としてメンバー隠ぺいは備わっていません。
//その代わりに、デフォルトですべてのメンバーはオーバーライドされます。
//詳しくは、関連するチュートリアルの Overriding を参照してください。
import UnityEngine
import System.Collections


public class Orc(Enemy):

    //Enemy クラスのバージョンを隠ぺいします
    new public def Yell():
        Debug.Log('Orc version of the Yell() method')

WarBand Class

Code snippet

using UnityEngine;
using System.Collections;

public class WarBand : MonoBehaviour 
{
    void Start () 
    {
        Humanoid human = new Humanoid();
        Humanoid enemy = new Enemy();
        Humanoid orc = new Orc();
        
                //Humanoid 型の各変数が継承の階層にある
                //異なるクラスへの参照を格納していることを確認してください。
                //さらに、それぞれが Humanoid Yell() メソッドを
                //呼び出すことに注意してください。
        human.Yell();
        enemy.Yell();
        orc.Yell();
    }
}
import UnityEngine
import System.Collections


public class WarBand(MonoBehaviour):

    private def Start():
        human = Humanoid()
        enemy as Humanoid = Enemy()
        orc as Humanoid = Orc()
        
                //Humanoid 型の各変数が継承の階層にある
                //異なるクラスへの参照を格納していることを確認してください。
                //さらに、それぞれが Humanoid Yell() メソッドを
                //呼び出すことに注意してください。
        human.Yell()
        enemy.Yell()
        orc.Yell()

関連するチュートリアル