燈明日記 このページをアンテナに追加 RSSフィード

ごあいさつ

燈明日記へようこそ!!

燈明日記の主なテーマは、以下の通りです。

そして、燈明日記へ来られたのも『私』と『あなた』の何かのご縁です。なので、どうぞごゆっくりご覧下さい!


2008/7/17(木)

[] Perlでの『new』とは

newは、Java系(C++,JavaScript等)やVB系(VB.NET,VBScript等)では、オブジェクトをコンストラクトします。

そして、Java系では「new演算子」、VB系では「newキーワード」と呼ばれています。

では、Perlのnewは、なんでしょうか・・・。


Perlの場合は、newという演算子やキーワードは存在しません。また、組み込み関数でもありません。

Perlでのnewは、単なるパッケージサブルーチン(メソッド)で、JavaやVBと同じように記述できるのは、『間接オブジェクト形式』と云う呼び出し方なのです。

逆に云うと『間接オブジェクト形式』での呼び出し方が、たまたまJavaやVBのnewと似ているだけなのです。

      my $mycar = new Car('Green', 'セレナ', 2000);

しかし、newは、先ほども述べましたが、単なるメソッドなので、普通の『矢印形式』でも呼び出せます。

      my $mycar = Car->new('Green', 'セレナ', 2000);

私としては、クラスから『->』で強く修飾されて明示される『矢印形式』の方がお奨めです。

なぜお奨めかというと実は、『間接オブジェクト形式』には、2つの落とし穴があるのです。それについては、そのうちに・・・。


2つの落とし穴、以下に書いてみました。

http://d.hatena.ne.jp/chaichanPaPa/20080719/1216451016

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/chaichanPaPa/20080717/1216294390