VB.NET 【オブジェクト指向編】



目次


クラス

クラスを使用した乗算処理について解説します。

プログラムソース

クラス
Public Class MyCls
   Public X As Integer
   Public Y As Integer
   Public Z As Integer

   Public Sub MyMethod()
      Z = X * Y
   End Sub
End Class 
メイン
Module MyModule
Sub Main()
   Dim A As New MyCls
   A.X = 2
   A.Y = 3
   A.MyMethod()
   Console.WriteLine(A.Z)
   Console.ReadKey()
End Sub
End Module

解説

Public 変数 As 型

メンバ変数を宣言します。

Public Sub メソッド名
 処理
End Sub

メソッドを宣言します。

Dim 変数 As New クラス名

クラスのインスタンスを生成します。


コンストラクタ

コンストラクタを使用して、オブジェクト指向の特徴であるカプセル化について解説します。

プログラムソース

クラス
Public Class MyCls
   Private X As String
   Public Sub New(ByVal Y As String)
      X = Y
   End Sub
   Public Sub MyMethod()
      Console.WriteLine(X)
   End Sub
End Class 
メイン
Module MyModule
Sub Main()

   Dim A As New MyCls("コンストラクタ")
   A.MyMethod()
   Console.ReadKey()

End Sub
End Module

解説

Private 変数 As 型

メンバ変数を宣言します。

Public Sub New()
 処理
End Sub

コンストラクタを宣言します。


プロパティ

プロパティを使用して、オブジェクト指向の特徴であるカプセル化について解説します。

プログラムソース

クラス
Public Class MyCls
   Private X As String
   Public Property MyProperty() As String
      Get
         Return X
      End Get
      Set(ByVal Y As String)
         X = Y
      End Set
   End Property
End Class 
メイン
Module MyModule
Sub Main()
   Dim A As New MyCls
   A.MyProperty = "プロパティ"
   Console.WriteLine(A.Myproperty)
   Console.ReadKey()
End Sub
End Module

解説

Get
 Return 戻り値
End Get

内部変数を返却します。

Set(ByVal 引数 As 型)
 内部変数 = 引数
End Set

内部変数に値を設定します。

Public Property プロパティ名 As 型
 処理
End Property

プロパティを宣言します。


継承

オブジェクト指向の特徴である継承について解説します。

プログラムソース

親クラス
Public Class ParentCls
   Public Sub ParentMethod()
      Console.WriteLine("親クラス")
   End Sub
End Class  
子クラス
Public Class ChildCls : Inherits ParentCls
   Public Sub ChildMethod()
      Console.WriteLine("子クラス")
   End Sub
End Class
メイン
Module MyModule
Sub Main()
   Dim A As New ChildCls
   A.ParentMethod()
   A.ChildMethod()
   Console.ReadKey()
End Sub
End Module

解説

Inherits 継承元クラス名

クラスを継承します。


オーバーロード

オーバーロードを使用して、オブジェクト指向の特徴であるポリモーフィズムについて解説します。

プログラムソース

親クラス
Public Class ParentCls
   Public Sub MyMethod()
      Console.WriteLine("親クラス")
   End Sub
End Class  
子クラス
Public Class ChildCls : Inherits ParentCls
   Public Overloads Sub MyMethod(ByVal X As String)
      Console.WriteLine(X)
   End Sub
End Class
メイン
Module MyModule
Sub Main()
   Dim A As New ChildCls
   A.MyMethod()
   A.MyMethod("子クラス")
   Console.ReadKey()
End Sub
End Module

オーバーライド

オーバーライドを使用して、オブジェクト指向の特徴であるポリモーフィズムについて解説します。

プログラムソース

親クラス
Public Class ParentCls
   Public Overridable Sub MyMethod()
      Console.WriteLine("親クラス")
   End Sub
End Class  
子クラス
Public Class ChildCls : Inherits ParentCls
   Public Overrides Sub MyMethod()
      Console.WriteLine("子クラス")
   End Sub
End Class
メイン
Module MyModule
Sub Main()
   Dim A As New ChildCls
   A.MyMethod()
   Console.ReadKey()
End Sub
End Module