サーチ…


前書き

クラスは、メンバと呼ばれる異なる関数、メソッド、変数、およびプロパティをグループ化します。クラスは、オブジェクトと呼ばれるクラスのインスタンスによってアクセスできるメンバをカプセル化します。クラスは、モジュール性、再利用性、保守性、コードの可読性などの特性を備えたタスクを便利で高速にするので、プログラマにとって非常に便利です。

クラスは、オブジェクト指向プログラミング言語のビルディングブロックです。

クラスの作成

クラスは、.NETフレームワーク内で独自の型を作成する方法を提供します。クラス定義内には次のものを含めることができます:

  • フィールド
  • プロパティ
  • メソッド
  • コンストラクタ
  • イベント

クラスを宣言するには、次の構文を使用します。

Public Class Vehicle     
End Class

以下に示すように、他の.NETタイプをクラス内にカプセル化し、それに応じて公開することができます。

Public Class Vehicle
     Private Property _numberOfWheels As Integer
     Private Property _engineSize As Integer

     Public Sub New(engineSize As Integer, wheels As Integer)
         _numberOfWheels = wheels
         _engineSize = engineSize
     End Sub

     Public Function DisplayWheelCount() As Integer
         Return _numberOfWheels
     End Function
End Class

抽象クラス

クラスが共通の機能を共有している場合は、これをベースクラスまたは抽象クラスにグループ化できます。抽象クラスには実装の一部または全部が含まれ、派生型は基本実装をオーバーライドできます。

VisualBasic.NET内の抽象クラスはMustInheritとして宣言し、インスタンス化できません。

Public MustInherit Class Vehicle
     Private Property _numberOfWheels As Integer
     Private Property _engineSize As Integer

     Public Sub New(engineSize As Integer, wheels As Integer)
         _numberOfWheels = wheels
         _engineSize = engineSize
     End Sub

     Public Function DisplayWheelCount() As Integer
         Return _numberOfWheels
     End Function
End Class

サブタイプは、次に示すようにこの抽象クラスをinheritできます。

Public Class Car
    Inherits Vehicle
End Class

Carは宣言されたすべての型を車両内で継承しますが、基礎となるアクセス修飾子に基づいてのみアクセスできます。

Dim car As New Car()
car.DisplayWheelCount()

上の例では、新しいCarインスタンスが作成されています。 DisplayWheelCount()メソッドが呼び出され、基本クラスのVehicles実装が呼び出されます。



Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow