OOプログラミングの背後にあるパワーを理解するのに少し苦労しています。私は、一般的にコーディングでわずかに経験があると思っていますが、これよりもずっと簡単になると思っていました。この例では、これがオブジェクト内にオブジェクトを含む正しい/良い方法であるかどうかを判断するために、いくつかの基本コードを作成しました。そうでない場合は、正しい方向に私を導いてください。これは正しい/良いコーディング手法ですか?
私は2つのクラスを持っています:男の子と犬のクラス。 BoyクラスにはDogオブジェクトが含まれています。 Dogオブジェクトは、所有者が誰であるかを知っています。ここで
は ボーイクラスです:Public Class Boy
Protected mName As String
Public Property Name() As String
Get
Return mName
End Get
Set(ByVal value As String)
mName = value
End Set
End Property
Protected mAge As Integer
Public Property Age() As Integer
Get
Return mAge
End Get
Set(ByVal value As Integer)
mAge = value
End Set
End Property
Protected mReturnHome As New TimeSpan(3, 15, 0)
Public Property ReturnHome() As TimeSpan
Get
Return mReturnHome
End Get
Set(ByVal value As TimeSpan)
mReturnHome = value
End Set
End Property
Protected mPet As New Dog(Me)
Public Property Pet() As Dog
Get
Return mPet
End Get
Set(ByVal value As Dog)
mPet = value
End Set
End Property
End Class
そしてここ犬クラスである:私は犬から少年クラスへのアクセス権を取得できるようにする必要があり
Public Class Dog
Private _owner As Boy
Public Sub New(ByRef Owner As Boy)
_owner = Owner
End Sub
Protected mName As String
Public Property Name() As String
Get
Return mName
End Get
Set(ByVal value As String)
mName = value
End Set
End Property
Protected mBreed As String
Public Property Breed() As String
Get
Return mBreed
End Get
Set(ByVal value As String)
mBreed = value
End Set
End Property
Protected mCanPlay As Boolean
Public Sub PlayBall()
If Now.TimeOfDay >= _owner.ReturnHome Then
mCanPlay = True
Else
mCanPlay = False
End If
End Sub
End Class
Dogは、その所有者(Boy)に固有のプロパティを認識できる必要があるためです。
ありがとうございます。
IMO - あなたがコード化しないDog> Ownerのものではなく、実生活プログラミングの例をモデルにしているときに、オブジェクト指向の例を多く理解しやすくなりました。 –