FC2ブログ
    04 «1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.» 06

    ハルシオンシステムの気ままBlog

    株式会社ハルシオンシステムのメンバーが送る、UnityやらJavaやらの技術的話題から、自社開発のアプリの宣伝とかとかのブログです。ほんと気ままにいきたいと思います。更新日は毎週 月 木でっす!

     

    【ハルシオンブログ】Unity(C#)でカプセル化ってやってます?プロパティをprivateにすることで、外から直接触れないってやつなんだけど 

    こんにちは。坂内っす。

    11月17日はデジゲー博の日です。
    デジゲーの後の飲み会のATNDつくったらまた77人集まりました。
    奇遇ですね。2年前のデジゲーの飲み会のATNDも77人なんですよね・・・・
    今後も初めからMAX77人にしてもいいんでないかい?
    問題は無言ドタキャンで逃げる人いないといいんですが・・・・・

    あ、無言ドタキャンで逃げた人がいるたびに、全員から100円づつ徴収するシステムいいんでないかい?
    みんなで被ることで、みんなから狙われるってシステム。これいいね。
    オーバーした分は俺が頂きますが。


    さて、Unityのお話。

    プロパティを使うときにこんな感じでgetter/setterを書いてたりしますよね。


    using UnityEngine;

    public class Script20191105 : MonoBehaviour
    {
    private string _userName;
    private int _age;
    private string _address;

    public string userName {
    get
    {
    return _userName;
    }
    set
    {
    _userName = value;
    }
    }
    public int age {
    get
    {
    return _age;
    }
    set
    {
    age = value;
    }
    }
    public string address {
    get
    {
    return _address;
    }
    set
    {
    _address = value;
    }
    }
    }



    これって、こんな感じでも書けるんですよね。


    using UnityEngine;

    public class Script20191105 : MonoBehaviour
    {
    private string _userName;
    private int _age;
    private string _address;

    public string userName { get; set; }
    public int age { get; set; }
    public string address { get; set; }
    }



    ただ、返却する際や、取得する際に処理を入れたい場合は、上の方法じゃないとだめっすね。


    public int age {
    get
    {
    if(_age > 10) {
    return 10;
    } else {
    return _age;
    }
    }
    set
    {
    _age = value;
    }
    }


    こんな感じで、処理をいれてからの返却とかもできます。

    あんまり個人開発しているとgetter/setterって使わないですかね?
    カプセル化っていうんですけどね。
    大本の変数はPrivateにしておいて、直接触れないようにするってやつです。

    気が向いたら使ってみてください。

    では、あでゅ~ノシ

    Category: 開発日記(Unity)

    tb 0 : cm 1   

    コメント

    真ん中のやつは自動実装プロパティとかいうやつで、
    _userNameはいらなくて
    public string userName { get; set; }だけで動作するやつですね

    しろくろ #- | URL | 2019/11/07 10:33 [edit]

    コメントの投稿

    Secret

    トラックバック

    トラックバックURL
    →http://halcyonsystemblog.jp/tb.php/648-ca5aeae1
    この記事にトラックバックする(FC2ブログユーザー)