tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル クラスの記述法
投稿日: 2007/09/07(Fri) 10:45
投稿者ダンボ
クラスの記述法について質問です。
前提:AlbumDefクラスはBaseDefクラスを継承します。
下記2パターンの書き方ができます(並列記述とクラス内クラス)。

質問1.この2つの書き方の得失は何でしょうか?
質問2.継承先でMyBaseとMeの使い分けが分かりません。
    下記どちらでも良いみたいなんですが、得失は何でしょうか?
        AlbumDefクラスで再定義した場合だけ差が出るのですか?
            MyBase.Modified(innerLastAccess)
            Me.Modified(innerLastAccess)
質問3.Option Strict Onなのに、
    Public Overloads Function Modified(ByVal value As Boolean) As Boolean
    で、ワーニングもでない。Overloadsだからかな?


記述法1.並列記述
Option Strict On
Public MustInherit Class BaseDef
    Private innerModified As Boolean
    Public Overloads Function Modified() As Boolean
        Modified = innerModified
    End Function
    Public Overloads Function Modified(ByVal value As Boolean) As Boolean
        innerModified = value
    End Function
    Public Overloads Sub Modified(ByRef AccessDate As Date)
        innerModified = True
        AccessDate = Now
    End Function
End Class

Public Class AlbumDef
    Inherits BaseDef
    Private innerLastAccess As Date
    Public Sub Test()
        MyBase.Modified(innerLastAccess)
        Me.Modified(innerLastAccess)
    End Sub
End Class


記述法2.クラス内クラス
Option Strict On
Public MustInherit Class BaseDef
    Private innerModified As Boolean
    Public Overloads Function Modified() As Boolean
        Modified = innerModified
    End Function
    Public Overloads Function Modified(ByVal value As Boolean) As Boolean
        innerModified = value
    End Function
    Public Overloads Sub Modified(ByRef AccessDate As Date)
        innerModified = True
        AccessDate = Now
    End Function

    Public Class AlbumDef
        Inherits BaseDef
        Private innerLastAccess As Date
        Public Sub Test()
            MyBase.Modified(innerLastAccess)
            Me.Modified(innerLastAccess)
        End Sub
    End Class
End Class  

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。