- ふらっと C#,C♯,C#(初心者用) Part124 [無断転載禁止]©2ch.net
550 :デフォルトの名無しさん (ワッチョイ 1c7b-tq+X)[sage]:2016/09/11(日) 01:24:47.80 ID:KwUcbZQO0 - 始めたばかりでパブリックとスタティックとプライベートの違いが分からんのだけど、
namespace main_file { class Program { static void Main(string[] args) { file1.TestClass TestA = new file1.TestClass("引数1"); file1.TestClass TestB = new file1.TestClass("引数2"); TestA.pub = "てすと1"; TestB.pub = "てすと2"; TestA.method(); TestB.method(); } } } namespace file1 { class TestClass { private string prv = ""; //クロージャ? インスタンスごとに個別くさい static string sti = ""; //クロージャじゃないこと確定。インスタンス関係なくオブジェクトで共有。 public string pub = ""; //パブリック。インスタンスごとに個別でどこからでもアクセスできる? public TestClass (string con){ //クラス名を同じにするとコンストラクタやねんて。でも呼ぶときはnewやん sti = con; prv = con; pub = con; } public void method() { Console.WriteLine("static: " + sti); Console.WriteLine("private: " + prv); Console.WriteLine("public: " + pub); } } }
| - ふらっと C#,C♯,C#(初心者用) Part124 [無断転載禁止]©2ch.net
551 :デフォルトの名無しさん (ワッチョイ 1c7b-tq+X)[sage]:2016/09/11(日) 01:25:09.11 ID:KwUcbZQO0 - Perlで書くとこれで合ってる?
{ package main_file; my %TestA = file1::TestClass("引数1"); my %TestB = file1::TestClass("引数2"); ${$TestA{pub}} = "てすと1"; ${$TestB{pub}} = "てすと2"; $TestA{method}->(); $TestB{method}->(); } { package file1; my $sti = ""; #スタティックな変数をシミュレート sub TestClass { my $prv = $_[0]; #クロージャとして機能させる my $pub = $_[0]; $sti = $_[0]; my $sub = sub { print "static: " . $sti . "\n"; print "private: " . $prv . "\n"; print "public: " . $pub . "\n"; return(); }; return( method => $sub, pub => \$pub); #パブリックは呼び出し元でアクセスできるようアドレスを返す } }
| - ふらっと C#,C♯,C#(初心者用) Part124 [無断転載禁止]©2ch.net
555 :デフォルトの名無しさん (ワッチョイ 1c7b-tq+X)[sage]:2016/09/11(日) 05:06:56.23 ID:KwUcbZQO0 - >>554
わかった。ありがとう。
|
|