したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |
レス数が1スレッドの最大レス数(1000件)を超えています。残念ながら投稿することができません。

741年目

1マロン:2018/12/01(土) 09:06:19
国民的MMORPGゲームのスレへようこそ

760マロン:2018/12/03(月) 05:47:15
もう毎回手打ちしなくてもよくね

761マロン:2018/12/03(月) 05:53:07
オーバーロードとオーバーライド。似ているようでぜんぜん違うもの

762マロン:2018/12/03(月) 05:54:14
マジカルにゃんにゃんやってないかー
かーっ

763マロン:2018/12/03(月) 05:54:37
一番重要なやつ飛ばしちゃうやつー
ニャンニャン

764マロン:2018/12/03(月) 05:58:33
応急処置でいいの見つけたわ。
Console.ReadKey();
最後の30000からこれにすれば、キー押せばコンソール消えるよ

765マロン:2018/12/03(月) 06:00:18
ちがう。Main(){ Console.ReadKey(); }

766マロン:2018/12/03(月) 06:00:29
戦後さん
応急処置では何をしていたのか全くわかっていないことが露呈していますよ

767マロン:2018/12/03(月) 06:01:11
せめて、メインの中に書いて

768マロン:2018/12/03(月) 06:01:48
違います

769マロン:2018/12/03(月) 06:03:56
インデント増やしたり下げたりは複数行選択しておけば一気にできるよ

770マロン:2018/12/03(月) 06:11:04
戦後は何か勘違いしてそうだから、書くね。
Test obj = new Test();
obj = new Test("Tokyo mew mew");

new Test();
new Test("Tokyo mew mew");
でも動くよ

771マロン:2018/12/03(月) 06:12:51
Test objとかなくてもクラスのインスタンスは作れるってこと。
そして、インスタンスを作られたラコンストラクタが呼ばれる

772マロン:2018/12/03(月) 06:13:59
参照型の変数を箱っていうのやめてw

773マロン:2018/12/03(月) 06:14:35
デフォルトコンストラクタじゃないよ。
自分でpublic Test()で宣言してるよ。

774マロン:2018/12/03(月) 06:15:31
「コンストラクタが宣言されていないクラスでも、デフォルトコンストラクタが存在します
デフォルトコンストラクタは、何も引数を受け取らない public なコンストラクタです」

775マロン:2018/12/03(月) 06:17:49
両方出ることがただしんだよ
さっきは戦後さんもそう言ってたじゃない
コンストラクタを二回呼び出してるんだから

776マロン:2018/12/03(月) 06:18:16
Test objがあるせいで理解できてないなw
>>770で動かせば理解できるのでは?

777マロン:2018/12/03(月) 06:20:41
objに何が入るかは
メンバに
public string name;
を追加して

コンストラクタを
Test()
{
 name = "Kitty";
}

Test(string str)
{
 name = str;
}

static void Main()
{
 Test obj = new Test();
 Console.WriteLine(obj.name);

 obj = new Test("mew mew");
 Console.WriteLine(obj.name);

 Console.ReadKey();
}

じゃわからん?

778マロン:2018/12/03(月) 06:22:39
new Test();で箱ができるけど、箱はでっかいから参照しないと行けない
obj = new Test();
で箱への参照ポインタをobjに入れてくれてる

次の
obj = new Test("mew mew");
で、"mew mew"を使って作られた新しい箱ができて、
その箱への参照ポインタをobjに入れてくれてる

779マロン:2018/12/03(月) 06:23:46
参照型の変数は箱というか矢印みたいな認識をしてほしいなあっていつか言おうと思ってた

780マロン:2018/12/03(月) 06:24:49
Testのメンバはnameであって、
strはメソッドの引数で指定してあるだけで使ってないでしょ

781マロン:2018/12/03(月) 06:26:46
objがインスタンス化ってのがどうしても理解できていなさそうで怖いw

782マロン:2018/12/03(月) 06:27:33
いや、まあ、objは変数ではある
変数ではあるんだけども、まあそういうことです

783マロン:2018/12/03(月) 06:28:53
>>237

784マロン:2018/12/03(月) 06:30:18
言われてみればぼくもオブジェクトってなんなのか詳しく説明できる気がしない
クラスをインスタンス化したものです じゃ違うんでしょうか先生方

785マロン:2018/12/03(月) 06:31:22
objってのは変数とは呼ぶけど、中にはいっているのはnew Test();っていうインスタンス化によって作られたインスタンス
ちなみに、オブジェクトってのはインスタンスよりももっと大きい意味でインスタンスのこともオブジェクトって言う
オブジェクトとインスタンスの違いはなんだったかな

786マロン:2018/12/03(月) 06:32:46
さらに混乱させるとC#ではint型なんかもじつはオブジェクトなんだ

787マロン:2018/12/03(月) 06:34:20
まず、オブジェクトって言葉が一般的すぎて、使われ方に範囲がある。
なので、C++でもC#でもVBでも「オブジェクト」といった言葉が使われる。
C$でオブジェクトといえば、クラスをインスタンス化したものっ「インスタンス」て覚えればいいよ。

788マロン:2018/12/03(月) 06:34:51
起きて

789マロン:2018/12/03(月) 06:36:34
クラス: 設計図
インスタンス: 設計図を元に作られた製品
オブジェクト: 俗語 インスタンスのことを一般的にオブジェクトと呼ぶ ただし、俗語であり、範囲が大きいので、ものによってはクラスのこともオブジェクトと呼ぶこともある

790マロン:2018/12/03(月) 06:39:38
インスタンス化しなおしてるのではなく新しいインスタンスを作ってます
前にnewしたやつはどこからも参照されてないインスタンスとして存在はしてる

791マロン:2018/12/03(月) 06:39:59
そりゃ、フィールドでint xを宣言しなきゃ

792マロン:2018/12/03(月) 06:40:01
だってint x;って定義している場所が、コンストラクタの中であって、Testのメンバじゃないでしょ

793マロン:2018/12/03(月) 06:40:50
スコープについて戻ってまた勉強し直しましょう

794マロン:2018/12/03(月) 06:41:09
引き継ぐ云々はスコープの話です

795マロン:2018/12/03(月) 06:41:47
コンストラクタはインスタンス化したときに、必ず呼ばれるメソッドだと思えばいいよ

796マロン:2018/12/03(月) 06:43:04

コンストラクタは、基本的にはメソッドと変わりませんが二つの特徴を持ちます
一つはクラスと同じ名前であり、クラスと同じメソッドはコンストラクタとなります
もう一つは戻り値は無いため、コンストラクタには戻り値は指定しません


797マロン:2018/12/03(月) 06:43:43
コンストラクタは必ず呼び出されるメソッドってのは>>237の3枚目にちゃんと書いてあるでよ

798マロン:2018/12/03(月) 06:45:47
クラス: 設計図
インスタンス: 設計図に基づいて、作られた製品
インスタンス化: 設計図に基づいて作っていくこと
コンストラクタ: 設計図に基づいて作るとき、最初はどういう部品を置いていくかという設定

この説明はまだむつかしい?

799マロン:2018/12/03(月) 06:47:32
忘れてるんじゃないんだ・・・
インスタンスを2個作ってるんだよ

800マロン:2018/12/03(月) 06:48:04
objっていうのはアドレスの参照であって実体ではないんだよ
ポインタ投げたマンには難しいか

801マロン:2018/12/03(月) 06:50:24
Test obj = new Test(); と
int i = 0; はほぼ同じだよ

int i;
i = 0;
と同じ様に
Test obj;
obj = new Test();
でもいいんだよ
宣言と代入を同時にする初期化が必要ではないんだよ

あと、>>778でも言ったけど
obj = new Test(); では
new Test();で作った箱の住所をobjに入れてたんだけど
obj = new Test("mew mew"); で、
また新しく作った箱の住所を、またobjに上書きする形で代入しているんだよ

802マロン:2018/12/03(月) 06:51:03
これでいいかな?箱と書いてるけど、概念だけね。
      Test obj; //箱作った。
obj = new Test(); //箱objに1個目のインスタンスをいれた。
obj = new Test("Tokyo mew mew");//箱objに2個目のインスタンスを上書きした。

803マロン:2018/12/03(月) 06:51:37
メモリの番号を指す矢印がTest型のobjっていう変数
メモリに格納されてるのがTest型のインスタンス

804マロン:2018/12/03(月) 06:52:51
戦後が書いているのはC++的名概念のせいで、ぜんぜんC#だと違うっていう悲しみ。

805マロン:2018/12/03(月) 06:53:16
とりあえずペイントで描いてみよ

806マロン:2018/12/03(月) 06:55:33
お、なんか難しそうなことやってる
そろそろ3Dゲームでミリオンセラー出せそう?

807マロン:2018/12/03(月) 06:56:02
objをオブジェクトって呼ぶのやめよう。
objを違う名前にしよ。

808マロン:2018/12/03(月) 06:58:22
で、新しいインスタンスをobjに代入したらどうなるの?

809マロン:2018/12/03(月) 06:58:50
マロンかわいそうだから相手してあげて

810マロン:2018/12/03(月) 07:01:23
はい

811マロン:2018/12/03(月) 07:02:17
絵心とは
ttps://gyazo.com/d12e3870ce21a93d0325e3b0771af7a8

812マロン:2018/12/03(月) 07:04:49
ちがうよ。
xの初期化がされてないから。
2つのコンストラクタで両方ともxに適当な文字いれて

813マロン:2018/12/03(月) 07:06:02
x = "てす";
y = "1";
にすればわかるよ。

814マロン:2018/12/03(月) 07:06:23
二回目のコンストラクタで作られたインスタンスのxには何が入ってるの?
空白?null?コンパイルエラー?

815マロン:2018/12/03(月) 07:09:14
ちょっと1個目のxを10にしてみて

816マロン:2018/12/03(月) 07:09:19
いや前にnewしたやつもメモリのどこかに残ってるはずだよ
内容を上書きしたわけじゃない 新しい領域にインスタンスを作った

817マロン:2018/12/03(月) 07:10:31
混乱させるようなこと言ったかな
とりあえず>>811を覚えて

818マロン:2018/12/03(月) 07:12:55
がんばった
ttps://gyazo.com/78245d19483fce51ab1c55c70d611607

819マロン:2018/12/03(月) 07:13:20
あるにはある
あるけど、どこからも見に行くことはできないから、本当にあるのかもわからない

C#だと自動で消してくれたりしてるけど、C/C++だと自動では消してくれないので極端に言うとPCの電源落とすまでずっと残ってる

820マロン:2018/12/03(月) 07:14:25
アプリ起動しっぱだとメモリいっぱいいっぱいになるまで消してくれなかったりするw

821マロン:2018/12/03(月) 07:14:42
objはただのインスタンスへの行先案内人だよ
イコールにしてるけど、objはインスタンスではないんだ。

822マロン:2018/12/03(月) 07:15:35
objは箱じゃなくて矢印ってのはそういうことを言いたかった

823マロン:2018/12/03(月) 07:15:55
完璧だ。それで間違いない

824マロン:2018/12/03(月) 07:17:25
メモリリークって呼ばれる現象ですね

825マロン:2018/12/03(月) 07:19:01
それが参照型ね。

826マロン:2018/12/03(月) 07:19:27
戦後はポインタも理解したも同然
ピアカスのノイマンと呼ばれる日も近い

827マロン:2018/12/03(月) 07:19:47
そうです
インスタンスの直訳が実例とか事実とかそういう意味なので
そういうことです

828マロン:2018/12/03(月) 07:20:58
プログラムのほとんどがこの考えで間違いない。
これを覚えておかないと、この先インスタンスが複数出てきたときに混乱する

829マロン:2018/12/03(月) 07:21:25
来年には壺を超えるゲームをリリース、一生分稼いで毎日20時間配信して下さい

830マロン:2018/12/03(月) 07:23:06
そして、次にクラスが複数でてきて、インスタンスが複数もって、クラスの中に別のクラスのインスタンスが出てきて混乱するんですね

831マロン:2018/12/03(月) 07:23:45
カリカリカリカリ

832マロン:2018/12/03(月) 07:24:24
ちがうちがう、日本語間違ってる。
「クラスの中に別のクラスのインスタンス」

833マロン:2018/12/03(月) 07:24:46
いままでもクラスの中でクラス作ってきたじゃない

834マロン:2018/12/03(月) 07:26:10
はい。混乱したところで次いきましょう。

835マロン:2018/12/03(月) 07:26:55
C#ではMain()もクラスに属したメソッドでしたね はい

836マロン:2018/12/03(月) 07:28:05
別にただのインスタンスだよ。
ただしソースコードをみて、理解できるかは別のこと。

837マロン:2018/12/03(月) 07:34:16
このゲームスイッチ版があるんだけど、処理落ち激しいしロード遅いし、steamで買えばよかった

838マロン:2018/12/03(月) 07:35:09
>>837
少し前にバージョンアップして、処理落ちだいぶましになったで
あとワープの仕様とかがsteam版と同じになった

839マロン:2018/12/03(月) 07:36:40
スイッチ版、ステージのロードこれの4倍くらいかかるからなw

840マロン:2018/12/03(月) 07:37:38
プログラムがポンコツなんじゃないw

841マロン:2018/12/03(月) 07:38:48
カーダイスプライムおすすめですよ

842マロン:2018/12/03(月) 07:39:35
さっきお店に売ってたやつ

843マロン:2018/12/03(月) 07:40:16
このゲーム結局、自分の周りぐるぐる回る系が強いんよ

844マロン:2018/12/03(月) 07:40:58
図を作ってたら遅くなっちゃった
まだ大丈夫かな
ttps://i.imgur.com/VAQ37aU.jpg

845マロン:2018/12/03(月) 07:41:02
ホンマや

846マロン:2018/12/03(月) 07:41:06
人によって好み違うよね
俺は雷属性が大体すきだった

847マロン:2018/12/03(月) 07:42:36
Ctrl + マウスホイールクリクリで拡大縮小をいい感じで見てね

848マロン:2018/12/03(月) 07:42:51
うんこ「屁です」

849マロン:2018/12/03(月) 07:43:13
あと、そこだけstr = うんこじゃなくて、name = うんこだったわ

850マロン:2018/12/03(月) 07:43:22
屁だから通してあげて

851マロン:2018/12/03(月) 07:45:13
宣言とかは省略してるよ
大丈夫だと思ったから

852マロン:2018/12/03(月) 07:47:18
そういうことです

853マロン:2018/12/03(月) 07:48:48
unko変数、だって便利じゃない
動かなかったときもこのうんこやろうがよぉって言えるし

854マロン:2018/12/03(月) 07:49:25
糞馬、とどめに高火力ドンのほうがやりやすいで

855マロン:2018/12/03(月) 07:49:32
今日はうんこした?

856マロン:2018/12/03(月) 07:52:07
これって、スキルは6個までなの?
キャラとかレベルとか関係なく、下の枠的に

857マロン:2018/12/03(月) 08:00:51
もう既にけっこう上手いな

858マロン:2018/12/03(月) 08:03:08
ナイト、スキが小さいよな

859マロン:2018/12/03(月) 08:03:18
セール!セール!




掲示板管理者へ連絡 無料レンタル掲示板