エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
はじめに 「Lua で、self.name と書かなくても name だけでメンバ変数やメソッドにアクセスできるように... はじめに 「Lua で、self.name と書かなくても name だけでメンバ変数やメソッドにアクセスできるようにする方法」 では、メソッドの引数にも、メソッド中にも self と書くことなく、Lua でも C++ や C# のようなオブジェクト指向プログラミングを可能にする方法を紹介しました(もちろん、コロンによるシンタックスシュガーも使用しません)。 しかし、メンバ変数やメソッド(=メンバ関数)の保護については言及しておらず、以下のコードのようにメソッドをユーザーが上書きできてしまうという問題点がありました。 > -- メンバ変数の値を上書き > stack=Stack.new() > stack.push(10) > stack.numOfElements 1 > stack.numOfElements=0 -- スタックには何も入って無いことにしてしまう > stack.pop