• 締切済み

vb.netで引数なしのクラスのインスタンスを生成するとき

AKARI0418の回答

  • AKARI0418
  • ベストアンサー率67% (112/166)
回答No.1

()をつけるのが本来の姿だと思います。 C#のように宣言や関数の明記が強制される言語では、()がなければコンパイルエラーになってしまいますから。 VBでは、ToStringに()がなくてもよいことや、文字列に数字をキャストせずに代入できる(自動型変換)など、 コーディングを楽にしてくれるメリットでもあります。 しかし、これらはC#でコーディングするときに、結構戸惑うかもしれません、 結論から言うと、好みでしょうか?

関連するQ&A

  • クラスのインスタンスの生成

    javaの勉強を始めたばかりの初心者です。 クラスのオブジェクトの生成方法は(1)の方法だけだと思っていたのですが, 本を読んでいると以下の(1)~(3)の3種類の生成の方法がでてきます。 オブジェクトの生成方法について以下の質問にお答えいただきたいです。 【質問1】 (2)のオブジェクトの生成方法は以下のような考え方でしょうか? BufferedReader br = new BufferedReader(); InputStreamRader k = InputStream(); BufferedRader br = new BufferdRader(k); これを省略して・・・ BufferedReader br = new BufferedReader(new InputStreamReader ()); 【質問2】 (3)のオブジェクト生成方法は以下の考え方でしょうか Container ct = new Container(); ct = frame.getContentPane(); これを省略して・・・・ Container ct = frame.getContentPane(); 【質問3】 オブジェクト生成方法はこの3種類の他にもあるのでしょうか 【質問4】 (1)~(3)の方法には使い分け(ルール)があるのでしょうか? 例えば「このクラスの場合この方法」というような -------------------------------------------------------------------- (1)MyClass br = new MyClass();   クラス名 オブジェクト = new コンストラクタ; -------------------------------------------------------------------- (2)BufferedReader br = new BufferedReader(new InputStreamReader ()); -------------------------------------------------------------------- (3)Container ct = frame.getContentPane(); --------------------------------------------------------------------

    • ベストアンサー
    • Java
  • vb2005 インスタンスの生成について

    vb2005で質問です Data.vbというグローバル変数を宣言しているモジュールファイルに以下の記述をします。   public x As SortedList(Of Integer, Integer)() = New SortedList(Of Integer, Integer)(1) {} 次にForm1.frmというファイルで、ある処理の中に以下の記述をします。  x(0) = New SortedList(Of Integer,Integer)  x(1) = New SortedList(Of Integer,Integer) ここで質問が2つあります。 1)なぜ2回もNEW句を使用しなければならないのでしょうか? 2)x(0)やx(1)について、宣言とインスタンスの生成を同時にする方法はありますか? ご回答よろしくお願い致します。

  • vb2005 インスタンスの生成について

    vb2005で質問です Data.vbというグローバル変数を宣言しているモジュールファイルに以下の記述をします。   public x As SortedList(Of Integer, Integer)() = New SortedList(Of Integer, Integer)(1) {} 次にForm1.frmというファイルに、あるイベントのたび、呼び出される処理の中に 以下の記述をします。  x(0) = New SortedList(Of Integer,Integer)  x(1) = New SortedList(Of Integer,Integer) この場合、何度も x(0) = New SortedList(Of Integer,Integer) が 生成されることになりますが、メモリエラーを引き起こす原因に なりえますか すいませんが、教えていただけないでしょうか

  • インスタンス生成について

    いつもお世話になっております。 今回はインスタンス生成について質問させて下さい。 String クラスのインスタンス生成は、 String str1 = new String(); のように明示的に new 演算子を用いる方法と、 String str2 = "hoge"; のように生成する方法がありますよね。 str2 の方は、JVM が(?) 勝手にコンストラクタを呼び出してくれて、 インスタンスを生成してくれる、という認識でよいのでしょうか? また、明示的に「 new 演算子 + コンストラクタ」でインスタンスを生成する場合と、 そうでない場合の使い分けなどはあるのでしょうか? そもそも String 以外に、このような複数のパターンでインスタンスを生成することができる クラスは他にもあるのでしょうか? 以上、ご教授宜しくお願い致します。

    • ベストアンサー
    • Java
  • インスタンスの生成

    クラスA : ユーザインタフェース担当class クラスB : 通信担当class サーバ : 適当なWebサービス とするとき、ユーザからアクセスがあったらクラスAからクラスBを生成し、クラスBでsocketを作ってサーバと送受信、結果をクラスAに返して終了という簡単なものを作っています。 が、これだと「AがBを作って呼ぶ」「Bが通信する」「BがAに結果を返す」と一往復しか動けないので、Aは送信データを全部用意してからBを呼ばないといけません。 ではなく、「AからBに順次データを送り」、「Bはサーバから応答が来たらAに送る」というふうに変えたいと思っています。つまり、HTTPならAからBにGETが飛んで、次にUser-Agentが飛んで・・・最後に\nが飛ぶとBからAにHTMLが来る、みたいな感じですね。が、ここで疑問が出てきました。 1) Aの中でBを生成するのは初回の一回だけ(ですよね?じゃないと違うBができてしまいます)ですが、既にインスタンスがあるのかをどうやって判定するのでしょうか? 2) Bは何度も呼ばれるわけですが、同じく、Bの中でsocketを生成するのに、既にsocketがあるのかを判定できますか?コンパイル時にsocketをnewしていなかったらエラーになりませんか? 3) Bのインスタンスが同じなら、Bが何度呼ばれようとも、さっき作ったsocketは同じだから、AはBを呼ぶだけでサーバに辿り着けるのでしょうか? すみません、、混乱してきました(汗

    • ベストアンサー
    • Java
  • インスタンスをまとめて生成?

    環境:AS3.0/CS3 初歩的な質問かもしれませんが、よろしくお願いします。 下記のような処理をまとめて書く事は可能でしょうか? var _bt1 = new myButton(); var _bt2 = new myButton(); var _bt3 = new myButton();

    • ベストアンサー
    • Flash
  • インスタンスの生成について

    下記のクラスSC_SessionFactory_UseCookieを実装している場合、 $session = new SC_SessionFactory_UseCookie; を実行するとクラスSC_SessionFactory_UseCookieのinitSession()と useCookie()も実行され$session->useCookie() = trueの セッション開始session_start()が実行されるのでしょうか。 class SC_SessionFactory_UseCookie { function initSession() { session_set_cookie_params(0, "/", DOMAIN_NAME); // セッション開始 session_start(); } // Cookieを使用するかどうか function useCookie() { return true; } }

    • ベストアンサー
    • PHP
  • 外部ファイルのクラスのインスタンスが生成できない

    いつもお世話になっております。 PHP(Ver5.2)が利用できるレンタルサーバーを借りていろいろやっているのですが、 include_once した外部PHPファイルの中のクラス定義のコンストラクタがCallされません。 //外部クラスの記述 class A{ public function __construct(){ echo "OK"; } } //メインPHPの記述 include_once "xxx.php"; $obj = new A(); ↑におけるメインPHPをブラウザから呼び出したとき、本来なら OK とechoされるはずなのに、何も表示されません。 また、クラスAに定義したpublicなfunctionをCallしようとすると、定義されてないメソッドをCallした、とエラーになります。(インスタンス自体が生成されていない??) ファイル自体は正常にIncludeされていると思います。(ファイル名を間違ったらエラーになったから) ちなみに、クラスAの記述をメインPHPに記述すると、正常に動きます。 外部ファイルのクラスを正常に動かすにあたって、何かphp.iniあたりの編集が必要なのでしょうか? どうぞよろしくお願いいたします。

    • 締切済み
    • PHP
  • クラスとインスタンスについて

    はじめまして。Javaをはじめて3か月の超初心者です。 早速ではございますが、質問をさせていただきます。 以下のサンプルで、 class Foo { private int i = 0; Foo(int i) { this.i = i; } void func1() { System.out.println(this.i); } void func2(Foo foo) { System.out.println(foo.i); } } class Main { public static void main(String[] args) { Foo obj1 = new Foo(100); Foo obj2 = new Foo(500); obj1.func1(); obj1.func2(obj2); } } privateフィールドのスコープは同一クラス内からしか アクセスできないと参考書には記述されているの ですが、そのクラス内に上のサンプルのように this.iやfoo.iというように、クラスは同じでも インスタンスが異なるものがiにアクセスするとき、 上のサンプルは、どちらもアクセス制限のエラーが表 示されません。なぜなのでしょうか? this.iというアクセスは、現在実行中のインスタン ス内でのアクセスなので、privateスコープ内での アクセスであるというような感じがするのですが、 foo.iというアクセスの方は、現在実行中のインスタンスとは異なるインスタンス内でのアクセスなので、 privateスコープからはずれているような感じがして なりません。

    • ベストアンサー
    • Java
  • クラスのインスタンス

    お世話になります クラスのインスタンスを生成する際に class CTest { int m_i; } CTest* pTest = new CTest; void main() { pTest->m_i = 0; } CTest::~CTest() { delete pTest; } と、関数外でインスタンス化する際にも、newを使用するのでしょうか? もう1つ、newを使用しないで CTest Test; CTest* pTest = &Test; とするのと、何が違うのでしょうか? 多分、根本的な所が理解できていないと思われますが、よろしくお願い致します