無差別に技術をついばむ鳥

情報処理技術全般を気まぐれにつつくゆるいブログです

VB.NETをつつく10−構造体・モジュール。サブルーチン♪

今日は何が出るかな♪何が出るかな♪。何が出るかな♪。構造体が出ました♪。
構造化プログラミングの記事で処理をサブルーチンとして纏める事の大事さを一緒に考えたよね? そのサブルーチンを実現するための機能がこの構造体なんだ。 実はVB.NETの実行環境であるCLIではまた違う意味を持っているんだけど、 その事についてはクラスを知らないと分からない話しなんで日を改めてつつくよ。
このシリーズの前回である 列挙体の記事では値に名前をつける方法をつっついたけど、構造体とは値だけではなくて関数(メソッド)とか変数(フィールド)を纏めるためのものなんだ。あっそうそう、構造体が持つ変数はフィールドと呼ぶピヨ。
じゃあさっそくサンプルコードを見てみよう。

Imports System

Public Structure Bird

    'フィールド
    Public Name As String
    Public Age As Integer

    'メソッド
    Public Sub Talk()
        Console.WriteLine("ワタシハ{0}。年は{1}だよ。", _
            Me.Name, Me.Age)
    End Sub

End Structure

Public Module Module1
    Sub Main()
        Dim b As Bird = New Bird()
        b.Name = "インドリ"
        b.Age = 29
        b.Talk()
    End Sub
End Module

このサンプルコードをじっくり見れば分かるけど、構造体はフィールドメソッドを持てるんだ。 えっ?何故変数をフィールドと呼んだり、関数をメソッドって呼ぶかって? うーんそれは、言語設計者の趣味じゃないかな?多分、VB.NETを作った人はこう呼べば分かりやすいと思ったんだろうね。 短いけど構造体について今言えることはこれだけピヨ。
おっと、C#の記事ではここで終わっているけど、VB.NETにはModuleがあるよね。 ボクはこれをお勧めしないピヨ。ModuleはVB時代の過去の遺産なんで今使う必要な一切ないんだ。 みんな、これを使うぐらいならStructureClassを使おう!
エントリポイント(Mainメソッド)があるところはClassがお勧め
今度こそこれで終わり。次回へ続く・・・
別窓 | VB.NET | コメント:0 | トラックバック:0 | ∧top | under∨
<<VB.NETをつつく11−クラス。サブルーチンの進化 | 無差別に技術をついばむ鳥 | C#をつつく12ープロパティ。入力値を信じるな!。>>

この記事のコメント

∧top | under∨

コメントの投稿

 

管理者だけに閲覧
 

この記事のトラックバック

∧top | under∨
| 無差別に技術をついばむ鳥 |