FC2カウンター

現在の訪問者数

現在の閲覧者数:

カレンダー

07 | 2017/08 | 09
- - 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 - -

プロフィール

剣菱P

Author:剣菱P
剣菱Pと申します。
性別:男
年齢:27
二兎を追って一兎も得られないタイプ

マイコンやプログラミング、ニコニコ動画、雑記等
方向性は見えずとも、ちょっとずつ更新していく予定です!

リンクフリーです。
こんなブログでよかったらよろしくお願いしま~す。

公開メール kenbishiP@gmail.com

検索フォーム

最新記事

最新コメント

カテゴリ

メールフォーム

名前:
メール:
件名:
本文:

月別アーカイブ

最新トラックバック

リンク

ブロとも一覧

ブロとも申請フォーム

ランキング

ランキング参加中です。気が向いたらクリックしてあげてください。


にほんブログ村 その他趣味ブログへ
にほんブログ村 その他趣味ブログ 趣味の工作へ

スポンサーサイト


上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

零電 マイコン編15回目 タイマ割り込み 今日からセブン»

コメント

コメントの投稿













管理者にだけ表示を許可する

インスタンスとnew


C#でネットワークプログラムの勉強を再開


そもそもC#の理解がまだいまいちだけど、ちょっとづつオブジェクト指向ってものがわかってきた気がする


今日は1つ疑問がうまれた

参考書を読んでいると

IPEndPoint localEP = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 8888);
TcpListener listener = new TcpListener(localEP);

TcpClient client = listener.AcceptTcpClient();

NetworkStream netStream = client.GetStream();
StreamReader sr = new StreamReader(netStream, Encoding.UTF8);

こんな感じでクラスからインスタンスを作っている文がある

インスタンスって物は少しだけ理解してきた

クラスで定義されている設計図を素に 実際にメモリにその設計図どおりに作られるのがインスタンス

であってますよね?

で、そのインスタンスを作るためには クラスの型を指定して newをしなきゃいけない

ついでに言うと そのときにコンストラクタという初期化専用のメソッドを指定できる

というところまではなんとなく理解

ただ、new を使うところと使ってないところがある

TcpListener listener = new TcpListener(localEP);

TcpClient client = listener.AcceptTcpClient();

これとか

AcceptTcpClientメソッドを調べてみると データ送受信用のTcpClientオブジェクトを戻すと書いてある


つまり
TcpListener listener = new TcpListener(localEP);

この行で listnerというTcpListener型のインスタンスを作って メモリ上にこれを配置して

その中にデータ送受信用のオブジェクトがすでにあって そのアドレスを

TcpClient client = listener.AcceptTcpClient();

これで clientって名前にさせてもらってるだけで 新たにメモリ上にスペースを確保するわけではないから

newはいらないって事なのかな?

この考えであってそうな気がするな 厳密なところは微妙に違うかもだけど…


戻り値にオブジェクトを返してくるメソッドを使って インスタンスを作るときは

新しくメモリを確保するわけじゃないからnewはいらない

いわゆる 動的にメモリを確保するならnewが必要ってことかな?

ってことでとりあえず理解したことにしておこう…

間違いならいつか気がつくだろう


スポンサーサイト

零電 マイコン編15回目 タイマ割り込み 今日からセブン»

コメント

コメントの投稿













管理者にだけ表示を許可する


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。