Developer Programmer
پنج شنبه 14 آذر 1387, 12:11 عصر
من دو تا کلاس به این صورت ساختم
Public MustInherit Class Shape
Enum eColor
white = 1
red
green
blue
End Enum
Private fColor As eColor
Public Property Color() As eColor
Get
Return (fColor)
End Get
Set(ByVal value As eColor)
fColor = value
End Set
End Property
Public Sub New()
fColor = eColor.white
End Sub
Public Sub New(ByVal myColor As eColor)
fColor = myColor
End Sub
Public MustOverride Function Space() As Byte
End Class
Public Class RectAngle : Inherits Shape
Private fTool As Byte
Private fArz As Byte
Public Property Tool() As Byte
Get
Return fTool
End Get
Set(ByVal value As Byte)
fTool = value
End Set
End Property
Public Property Arz() As Byte
Get
Return fArz
End Get
Set(ByVal value As Byte)
fArz = value
End Set
End Property
Public Sub New(ByVal myTool As Byte, ByVal myArz As Byte)
fTool = myTool
fArz = myArz
End Sub
Public Overrides Function Space() As Byte
Return (Tool * Arz)
End Function
End Class
حالا اگه پراپرتی Color رو در کلاس فرزند تغییر بدم، آیا رنگ کلاس پدر هم تغییر میکنه یا هر کدوم رنگ جداگانه ای دارن ؟
Imports Shape
Dim myRect As New RectAngle(3, 4)
Console.WriteLine("Tool:{0} Arz:{1} Color:{2} Space:{3}", myRect.Tool, myRect.Arz, myRect.Color, myRect.Space())
With myRect
.Arz = 5
.Tool = 6
.Color = Shape.Shape.eColor.green
End With
Console.WriteLine("Tool:{0} Arz:{1} Color:{2} Space:{3}", myRect.Tool, myRect.Arz, myRect.Color, myRect.Space())
End Sub
End Class
چطور میشه گفت که کلاس فرزند در فلان متد(مثل new) از کلاس پدر هم به ارث ببره؟
Public MustInherit Class Shape
Enum eColor
white = 1
red
green
blue
End Enum
Private fColor As eColor
Public Property Color() As eColor
Get
Return (fColor)
End Get
Set(ByVal value As eColor)
fColor = value
End Set
End Property
Public Sub New()
fColor = eColor.white
End Sub
Public Sub New(ByVal myColor As eColor)
fColor = myColor
End Sub
Public MustOverride Function Space() As Byte
End Class
Public Class RectAngle : Inherits Shape
Private fTool As Byte
Private fArz As Byte
Public Property Tool() As Byte
Get
Return fTool
End Get
Set(ByVal value As Byte)
fTool = value
End Set
End Property
Public Property Arz() As Byte
Get
Return fArz
End Get
Set(ByVal value As Byte)
fArz = value
End Set
End Property
Public Sub New(ByVal myTool As Byte, ByVal myArz As Byte)
fTool = myTool
fArz = myArz
End Sub
Public Overrides Function Space() As Byte
Return (Tool * Arz)
End Function
End Class
حالا اگه پراپرتی Color رو در کلاس فرزند تغییر بدم، آیا رنگ کلاس پدر هم تغییر میکنه یا هر کدوم رنگ جداگانه ای دارن ؟
Imports Shape
Dim myRect As New RectAngle(3, 4)
Console.WriteLine("Tool:{0} Arz:{1} Color:{2} Space:{3}", myRect.Tool, myRect.Arz, myRect.Color, myRect.Space())
With myRect
.Arz = 5
.Tool = 6
.Color = Shape.Shape.eColor.green
End With
Console.WriteLine("Tool:{0} Arz:{1} Color:{2} Space:{3}", myRect.Tool, myRect.Arz, myRect.Color, myRect.Space())
End Sub
End Class
چطور میشه گفت که کلاس فرزند در فلان متد(مثل new) از کلاس پدر هم به ارث ببره؟