ぽざうねっと

ホーム 連絡をする 同期する ( RSS 2.0 ) Login
投稿数  420  : 記事  0  : コメント  9718  : トラックバック  76

ニュース

さて、今年は何を漬けようか

書庫

日記カテゴリ

Accessory

Community

Private

ちゃーんと "call some method" が表示された。
正直、今の今までできないと思ってました。
これは外部とはみなされないのか
投稿日時 : 2008年3月14日 7:17

コメント

# re: private なメンバを呼び出す 2008/03/14 7:32 myugaru
えっと整理してみると意外と簡単です。日本語でいえば
「自分の見えるローカル範囲にはアクセス可能です。」
この日本語間違ってませんよね?
それですから
「自分の見える範囲のメソッドの呼び出し」
は常に可能です。

勘違いされてしまったのはおそらく
「ローカル定義された型の返却」
などではないでしょうか?
内部で独自にprivate定義した型やenumとかを返却値として返したりするとエラーになります。
おっしゃってる例は外部にはvoidです。
何も返さず何も見せてませんのでエラーにもなりません。

# re: private なメンバを呼び出す 2008/03/14 8:51 なちゃ
さてさてどの部分に疑問を持ったのでしょうか…


# re: private なメンバを呼び出す 2008/03/14 8:54 R・田中一郎
僕もなちゃさんと同じ感想を持ちました。

# re: private なメンバを呼び出す 2008/03/14 9:16 黒龍
おそらくconstでの縛りと混同されたに一票。読み進めてて一瞬「お、よべるんや」とか思ってしまったんで。

# re: private なメンバを呼び出す 2008/03/14 9:42 Streetw☆
気持ちがわかるから勝手に補足させてもらいます。
#違ってたらハズカシイけどw
CallPrivateMethodはBarクラスの中にはあるけど、その中での
bar.SomeMethod();
という呼び出しは、barというインスタンスの参照経由での
privateなメソッドの(外部からっぽい)呼び出しだから、
違和感があるってことですよね~

# re: private なメンバを呼び出す 2008/03/14 9:54 泥爺
はじめまして。通りすがりました。

自分も、オブジェクト指向を学びはじめたころにはprivateのスコープを勝手に勘違いしてました。具体的には、ClassスコープではなくInstanceスコープだと思いこんでいました。

http://www.atmarkit.co.jp/fjava/rensai4/keitaijgram03/keitaijgram03_1.html
↑こんな感じで習ったので。
タイ焼きの中身(アン)は、privateなので外部から知ることができない。みたいな説明をされていました。

なので、タイ焼き自身は別のタイ焼きの中身を知ることができると知ったとき、すごく違和感がありました。

# re: private なメンバを呼び出す 2008/03/14 10:11 Streetw☆
あ、Classスコープとか言うんですね。¢(. .。)メモメモ

# re: private なメンバを呼び出す 2008/03/14 10:12 ghost_shell
ぼくはてっきり「Main()のアクセス修飾子がprivateでも実行できるやんけ!」かと思いました。

# [Ruby]privateなメンバを呼び出すぞ~ 2008/03/14 13:00 かずきのBlog
[Ruby]privateなメンバを呼び出すぞ~

# re: private なメンバを呼び出す 2008/03/14 14:38 Mr.T
Staticと宣言されていた部分を読み落としていたorz

#んー?なんで、わざわざBarクラスつくるん?
#SomeMethod()そのままでエエやんかとか。

なるほど、VB.NETならSharedだから、
内部でそういう呼び方は気がつかなかった。


# [Ruby]privateなメソッドを呼び出すぞ~ 2008/03/14 18:06 かずきのBlog
[Ruby]privateなメソッドを呼び出すぞ~

# re: private なメンバを呼び出す 2008/03/15 1:09 THREE-ONE
Streetw さん、泥爺さんのおっしゃるとおり、private なインスタンスメンバはインスタンス単位で隠蔽されるもんだと思ってました。
なので、インスタンス生成後に外部からアクセスできるように見えて不思議でした。
ん~言語のデザインな気がしますが

# re: private なメンバを呼び出す 2008/03/15 3:18 myugaru
THREE-ONEさん、読み取れなくてすみませんでした。
なるほどインスタンス単位隠蔽言語もいいと思います!
でもそういう言語ってあるかなあ。
C、C++、VB、C#あたりはそうじゃないっぽいですね。
「これはこういうものだと丸暗記」ですかねえ。
でも言語策定者の思想しだいでどっちもアリじゃないでしょうか。
だんだん私もインスタンス単位隠蔽も悪くないって思えてきました^^

かずきさんのトラックバックによればC#は本当の意味でのprivateも呼べてしまうらしく・・・これはこれでひでぇって思いました。
こんなのは全然「アリ」じゃないっすよね!w


# Strategy The Ideal gucci Advertising Campaign 2012/12/24 0:05 Reoglerolla
JmpXbh http://guccimenzujp.com/ - グッチ gucci BymRzl http://guccimenzujp.com/ XlnHxe http://guccimenzujp.com/グッチ-メンズ財布-c-4.html - グッチ 財布 DpjKut http://guccimenzujp.com/グッチ-レディース長財布-c-2.html - gucci バッグ AcxApi http://guccijastore.com/ - グッチ gucci OenGqs http://guccijastore.com/ EcnLgs http://guccijastore.com/グッチ-財布-c-2.html - グッチ 財布 KqlPsp http://guccijastore.com/グッチ-バッグ-c-1.html - グッチアウトレット OplXiv http://www.guccijpcheap.com/ - グッチ gucci KttFtz http://www.guccijpcheap.com/グッチ-財布-c-3.html - gucci 財布 AyrJos http://www.guccijpcheap.com/グッチ-バッグ-c-1.html - グッチ バッグ XahJgw
http://www.bootswinterjp.com/ - アグ


Post Feedback

タイトル
名前
Url:
コメント: