次の方法で共有


方法 : 既存クラスのメンバを使用するクラスを定義する

更新 : 2007 年 11 月

既存クラスのメンバは、そのクラスから派生した別のクラスでも使用できます。

次の例では、通常の Button のように動作し、前景色と背景色とを反転させるメソッドを公開する、特殊な Button を定義します。

既存クラスのメンバを使用するクラスを定義するには

  1. Class ステートメント (Visual Basic) を使用して、必要なオブジェクトの作成元となるクラスを定義します。

    Public Class reversibleButton

    クラスの最後のコード行の後には、必ず End Class ステートメントを指定してください。既定では、Class ステートメントを入力したときに、統合開発環境 (IDE: Integrated Development Environment) によって自動的に End Class が挿入されます。

  2. Class ステートメントの直後に Inherits ステートメント を指定します。新しいクラスの派生元のクラスを指定します。

    Inherits System.Windows.Forms.Button

    新しいクラスには、基本クラスで定義されているすべてのメンバが継承されます。

  3. 派生クラスで公開する追加のメンバ用のコードを追加します。たとえば、reverseColors メソッドを追加する場合、派生クラスは次のようになります。

    Public Class reversibleButton
        Inherits System.Windows.Forms.Button
        Public Sub reverseColors() 
            Dim saveColor As System.Drawing.Color = Me.BackColor
            Me.BackColor = Me.ForeColor
            Me.ForeColor = saveColor
        End Sub
    End Class 
    

    この reversibleButton クラスのオブジェクトを作成すると、作成したオブジェクトでは、Button クラスのすべてのメンバに加え、reversibleButton で定義した reverseColors メソッドなどの新しいメンバにアクセスできます。

コードのコンパイル方法

コンパイラでは、新規クラスの派生元とするクラスにアクセスできる必要があります。このためには、上の例で示したように名前を完全に修飾することや、Imports ステートメント (.NET 名前空間および型) で名前空間を指定することが必要になる場合があります。クラスが別のプロジェクト内にある場合は、そのプロジェクトへの参照を追加することも必要になる場合があります。詳細については、「名前空間およびコンポーネントの参照」を参照してください。

参照

処理手順

方法 : オブジェクトを作成する

方法 : 作業用コンポーネントを再利用する

方法 : オブジェクトの共有メンバおよび非共有メンバにアクセスする

方法 : 派生クラスを作成する

概念

クラスとオブジェクト

継承の基本