Inheritance And Interfaces : Interface « Class Module « VB.Net Tutorial

Home
VB.Net Tutorial
1.Language Basics
2.Data Type
3.Operator
4.Statements
5.Date Time
6.Class Module
7.Development
8.Collections
9.Generics
10.Attributes
11.Event
12.LINQ
13.Stream File
14.GUI
15.GUI Applications
16.Windows Presentation Foundation
17.2D Graphics
18.I18N Internationlization
19.Reflection
20.Regular Expressions
21.Security
22.Socket Network
23.Thread
24.Windows
25.XML
26.Database ADO.net
27.Design Patterns
VB.Net
VB.Net by API
VB.Net Tutorial » Class Module » Interface 
6.44.6.Inheritance And Interfaces
Imports System
Imports System.Collections

Public Interface Printable
  ReadOnly Property Print() As Integer
End Interface

Public Class Money
  Implements Printable

  Protected mTransactions As New ArrayList()

  ReadOnly Property Print() As Integer Implements Printable.Print
    Get
      Return mTransactions.Count
    End Get
  End Property

  Public Overridable ReadOnly Property Balance() As Double
    Get
      Dim result As Double = 0.0
      Dim As Integer
      For i = To mTransactions.Count - 1
        result += CDbl(mTransactions(i))
      Next
      Return result
    End Get
  End Property

  Public Sub Add(ByVal amount As Double)
    mTransactions.Add(amount)
  End Sub

  Public Sub Subtract(ByVal amount As Double)
    mTransactions.Add(-amount)
  End Sub
End Class

Public Class MyMoney
  Inherits Money

  Public Overrides ReadOnly Property Balance() As Double
    Get
      Return MyBase.Balance - Print * 2
    End Get
  End Property
End Class

Module Test
  Sub Main()
    Dim acc1 As New Money()

    acc1.Add(200)
    acc1.Subtract(40)
    acc1.Add(30)

    Console.Write("count: {0}, ", acc1.Print)
    Console.WriteLine("balance: {0}", acc1.Balance)

    Dim acc2 As New MyMoney()

    acc2.Add(200)
    acc2.Subtract(40)
    acc2.Add(30)

    Console.Write("count: {0}, ", acc2.Print)
    Console.WriteLine("balance: {0}", acc2.Balance)
  End Sub
End Module
count: 3, balance: 190
count: 3, balance: 184
6.44.Interface
6.44.1.Implement Interface
6.44.2.Interface with two methods
6.44.3.One Class implements two interfaces
6.44.4.Interface Inherits Interface
6.44.5.Interface with Property
6.44.6.Inheritance And Interfaces
6.44.7.Reimplement interface
6.44.8.Public Sub aMethod() Implements Interface1.Method, Interface2.Method
6.44.9.Two classes implement one interface
6.44.10.Implements two interfaces and WriteOnly Property
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.