' Visual Basic 2008 9.0 .NET Examples - Implementation - Object Oriented Programming : Namespace Example1 Class Product Private m_Price As Decimal Public Property Price() As Decimal Get Price = m_Price End Get Set(ByVal value As Decimal) m_Price = value setPriceIncludingTax() End Set End Property Private m_TaxPercentage As Decimal Public Property TaxPercentage() As Decimal Get TaxPercentage = m_TaxPercentage End Get Set(ByVal value As Decimal) m_TaxPercentage = value setPriceIncludingTax() End Set End Property Private m_PriceIncludingTax As Decimal Public Function GetPriceIncludingTax() As Decimal GetPriceIncludingTax = m_PriceIncludingTax End Function Private Sub setPriceIncludingTax() m_PriceIncludingTax = Price * (1 + (TaxPercentage / 100)) End Sub End Class Module Client Sub Main() Dim product1 As Product = New Product product1.Price = 100 product1.TaxPercentage = 8 Console.WriteLine(product1.GetPriceIncludingTax()) ' Console.ReadLine() End Sub End Module End Namespace Namespace Example2 Class Product Private m_Price As Decimal Public Property Price() As Decimal Get Price = m_Price End Get Set(ByVal value As Decimal) m_Price = value setPriceIncludingTax() End Set End Property Private m_TaxPercentage As Decimal Public Property TaxPercentage() As Decimal Get TaxPercentage = m_TaxPercentage End Get Set(ByVal value As Decimal) m_TaxPercentage = value setPriceIncludingTax() End Set End Property Private m_PriceIncludingTax As Decimal Public ReadOnly Property PriceIncludingTax() As Decimal Get PriceIncludingTax = m_PriceIncludingTax End Get End Property Private Sub setPriceIncludingTax() m_PriceIncludingTax = Price * (1 + (TaxPercentage / 100)) End Sub End Class Module Client Sub Main() Dim product1 As Product = New Product product1.Price = 100 product1.TaxPercentage = 8 Console.WriteLine(product1.PriceIncludingTax) ' Console.ReadLine() End Sub End Module End Namespace Namespace Exercise1 Class Addition Private m_Value1 As Integer Public Property Value1() As Integer Get Value1 = m_Value1 End Get Set(ByVal value As Integer) m_Value1 = value End Set End Property Private m_Value2 As Integer Public Property Value2() As Integer Get Value2 = m_Value2 End Get Set(ByVal value As Integer) m_Value2 = value End Set End Property Public Function GetResult() As Integer GetResult = Value1 + Value2 End Function End Class Module AdditionTestFixture Sub Main() Dim addition1 As Addition = New Addition Console.WriteLine(addition1.Value1 = 0) Console.WriteLine(addition1.Value2 = 0) Console.WriteLine(addition1.GetResult() = 0) ' addition1.Value1 = 1 ' (1) Console.WriteLine(addition1.Value1 = 1) Console.WriteLine(addition1.Value2 = 0) ' (2) Console.WriteLine(addition1.GetResult() = 1) ' addition1.Value2 = 2 Console.WriteLine(addition1.Value1 = 1) Console.WriteLine(addition1.Value2 = 2) Console.WriteLine(addition1.GetResult() = 3) ' Console.ReadLine() End Sub End Module End Namespace Namespace Exercise2 Class Lamp Private m_GivesLight As Boolean Public ReadOnly Property GivesLight() As Boolean Get GivesLight = m_GivesLight End Get End Property Public Sub PressButton() m_GivesLight = Not m_GivesLight End Sub End Class Module LampTestFixture Sub Main() Dim lamp1 As Lamp = New Lamp Console.WriteLine(lamp1.GivesLight = False) ' lamp1.PressButton() Console.WriteLine(lamp1.GivesLight = True) ' lamp1.PressButton() Console.WriteLine(lamp1.GivesLight = False) ' Console.ReadLine() End Sub End Module End Namespace Namespace Exercise3 Class Counter Private m_Value As Integer Public Property Value() As Integer Get Value = m_Value End Get Set(ByVal value As Integer) m_Value = value End Set End Property Private m_StepValue As Integer = 1 Public Property StepValue() As Integer Get StepValue = m_StepValue End Get Set(ByVal value As Integer) m_StepValue = value End Set End Property Public Sub Raise() Value += StepValue End Sub Public Sub Lower() Value -= StepValue End Sub End Class Module CounterTestFixture Sub Main() Dim counter1 As Counter = New Counter Console.WriteLine(counter1.Value = 0) Console.WriteLine(counter1.StepValue = 1) ' counter1.Value = 10 Console.WriteLine(counter1.Value = 10) Console.WriteLine(counter1.StepValue = 1) ' counter1.StepValue = 5 Console.WriteLine(counter1.Value = 10) Console.WriteLine(counter1.StepValue = 5) ' counter1.Raise() Console.WriteLine(counter1.Value = 15) Console.WriteLine(counter1.StepValue = 5) ' counter1.Lower() Console.WriteLine(counter1.Value = 10) Console.WriteLine(counter1.StepValue = 5) ' Console.ReadLine() End Sub End Module End Namespace Namespace Exercise4 Class Robot Private m_X As Integer Public ReadOnly Property X() As Integer Get X = m_X End Get End Property Private m_Y As Integer Public ReadOnly Property Y() As Integer Get Y = m_Y End Get End Property Private m_Direction As Integer Public Sub Rotate() m_Direction += 1 If m_Direction > 3 Then m_Direction = 0 End Sub Public Sub PlaceStep() Select Case m_Direction Case 0 ' up m_Y += 1 Case 1 ' right m_X += 1 Case 2 ' down m_Y -= 1 Case 3 ' left m_X -= 1 End Select End Sub End Class Module RobotTestFixture Public Sub Main() Dim robot1 As Robot = New Robot Console.WriteLine(robot1.X = 0) Console.WriteLine(robot1.Y = 0) ' robot1.PlaceStep() Console.WriteLine(robot1.X = 0) Console.WriteLine(robot1.Y = 1) ' robot1.PlaceStep() Console.WriteLine(robot1.X = 0) Console.WriteLine(robot1.Y = 2) ' robot1.Rotate() Console.WriteLine(robot1.X = 0) Console.WriteLine(robot1.Y = 2) ' robot1.PlaceStep() Console.WriteLine(robot1.X = 1) Console.WriteLine(robot1.Y = 2) ' robot1.Rotate() robot1.PlaceStep() Console.WriteLine(robot1.X = 1) Console.WriteLine(robot1.Y = 1) ' robot1.Rotate() robot1.PlaceStep() Console.WriteLine(robot1.X = 0) Console.WriteLine(robot1.Y = 1) ' robot1.Rotate() robot1.PlaceStep() Console.WriteLine(robot1.X = 0) Console.WriteLine(robot1.Y = 2) ' Console.ReadLine() End Sub End Module End Namespace ' Visit www.studyvb.com for more examples. Copyright 2003-2008 De Wolf.